我想从ma Web Service方法检索数据,但它返回null。jquery ajax在回应中返回null
我用一个方法(我的Web服务中的GetTEST())测试返回一个字符串,它运行良好。
当我使用WCFTestClient.exe进行测试时,Statistic_1方法运行良好,但使用JQuery它将返回null。
下面是JavaScript代码:
function getStatistic1() {
var response;
var allstat1 = [];
$.ajax({
type: 'GET',
url: 'http://localhost:52768/Service1/Statistic_1',
contentType: 'application/json; charset=utf-8',
dataType: 'json',
success: function (msg) {
response = msg.Items;
console.log(msg);
for (var i = 0; i < response.length; i++) {
allstat1[i] = [response[i].Geografisch_zone];
}
fillDataTable(allstat1);
},
error: function (e) {
alert("error loading statistic 1");
}
});
}
这里是我的IService1.cs
[DataContractFormatAttribute]
[ServiceContract(Namespace ="WSSage100")]
public interface IService1
{
[OperationContract]
[WebInvoke(Method = "GET",ResponseFormat = WebMessageFormat.Json)]
string GetTEST();
[OperationContract]
[WebInvoke(Method = "GET", ResponseFormat = WebMessageFormat.Json)]
ResponseStatistic_1 Statistic_1();
}
这里是Service1.svc
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
public class Service1 : IService1
{
public string GetTEST()
{
return "OKKKKKKKK";
}
public ResponseStatistic_1 Statistic_1()
{...}
}
这里是“执行console.log(味精) “displays:Object {ErrorMessage:”对象引用未设置为对象的实例。“,ErrorOccured:true,Items:null,NbReco RD:0}
ResponseSatistic_1类:
public class ResponseStatistic_1 : IBaseClientEntity
{
public ResponseStatistic_1()
{
}
public ResponseStatistic_1(Statistic_1 [] items) : this()
{
this.Items = items;
}
#region Properties
public Statistic_1[] Items
{
get;
set;
}
}
而且Statistic_1类:
public class Statistic_1
{
private string _geografisch_zone;
private decimal[] _sum;
private int _yearStart;
private int _yearEnd;
...
}
我不明白,我的GetTEST()方法运行良好,问题出在我的Statistic_1方法。你想让我改变什么数据类型? – Jayce
我在SqlConnection的Statistic_1方法中有个例外。异常是:对象引用未设置为对象的实例。你有什么想法吗? – Jayce