1

目前我正在做一个 asp.net 网站,我试图从 web 服务获取数据并将检索到的数据显示到表中。下面是ajax。

<script type="text/javascript">
$.ajax({
type: "GET",
url: "/CaregiverService.asmx/createJsDataTable",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (json) {
    console.log(json);
    console.log(json.d.aaData);
    $('#nursingHomeTable').dataTable({
        "aaData": json.d.aaData,
    });
},
error: function(XMLHttpRequest, textStatus, errorThrown) { 
                alert("Status: " + textStatus); alert("Error: " + errorThrown); 
            }    
});
</script>

对于网络服务

        [WebMethod]
        [ScriptMethod(ResponseFormat = ResponseFormat.Json)]
        public JsonDataTable createJsDataTable()
        {

        JsonDataTable jsDT = new JsonDataTable();

        List<object> vl = new List<object>();
        vl.Add("value 1");
        vl.Add("value 2");
        vl.Add("value 3");
        vl.Add("value 4");
        jsDT.add_Row(vl);

        return jsDT;
       }

当我检查元素时一直收到该错误,但仍然没有收到错误。我http://localhost:2179/CaregiverService.asmx/createJsDataTable从谷歌浏览器的检查元素中单击了它,它工作正常。希望有人可以帮助我解决它:x

4

1 回答 1

0

我不知道这是否能解决你的问题,但我很确定 Asp.net webservices 默认只从 POST 方法中获取。所以尝试将类型更改为 POST。

或者

设置尝试在网络服务的接收端进行设置

[WebMethod]
[ScriptMethod(UseHttpGet = true)]

或者

在你的 web.config 中试试这个

<webServices>
    <protocols>
        <add name="HttpGet"/>
        <add name="HttpPost"/>
    </protocols>
</webServices>
于 2013-08-28T14:45:26.263 回答