jQuery Ajax在响应中返回null - c#

我想从Web服务方法检索数据,但它返回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(msg)”显示:对象{ErrorMessage:“对象引用未设置为对象的实例。”,ErrorOccured:true,项目:null,NbRecord: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;

    ...
}

参考方案

您将返回字符串"OKKKKKK",但已在$.ajax函数中将dataType设置为JSON,因此必须取消设置dataType或返回诸如"{response: 'OKKKK'}"之类的内容。

jQuery val函数在隐藏字段上不起作用? - javascript

这是我的HTML代码:<div style='display:none;' id='allformid'> <div> <form action='#'> <input type='text' name='name' …

为HTML表单GET方法添加其他文本 - javascript

使用表单的“ get”方法时,<form action="domain.com" method="get"> Surname: <input type="text" name="ABC"><br> Name: <input type=&#…

写一行到javascript文件 - javascript

我正在使用数组来显示网站中的一些图像:var paintingImages; paintingImages = [ { url: 'images/objects/ron.jpg', alt: 'ron' } ]; 该js代码写在paintings.js中,我的主要js代码写在main.js文件中我已经为艺术家制作了这个…

如何从javascript提交带有本地列表的表单 - javascript

我有一个列表,我用javascript创建了它,我想将其发送到controller:function submit1() { var list_id = []; var i; for(i = 0; i < @Model.Count(); i++){ var x =docuzment.getElementsByClassName("bt1�…

发送C#/ razor到javascript函数 - javascript

我如何使其工作:@foreach (var alert in Model.AlertsRelatedToBrand) { <li class="notifications-row"> <div class="notifications-icon notifications-icon-alert">…