我的 ASPX 页面中有以下代码,用于从 Web 服务获取一些数据。我不能使用 WCF,所以我使用的是 ASMX 和 .Net 3.5。但是,我得到的是黄色的 ASP.net 错误页面,它谈论将 web.config 错误标记设置为 OFF。如果我从后面的代码调用我的方法并将其 response.write 到页面,我会得到一个我在 JSON Viewer 中查看过的 Json 字符串,它解析得很好。我的问题是 URL 格式。我在这里做错了什么。我发现的每个示例都使用 webservice.asmx/Method 格式。我还将协议添加到我的 web.config
<protocols>
<add name="HttpGet"/>
<add name="HttpPost"/>
</protocols>
页面脚本:
$.ajax({
type: 'GET',
contentType: "application/json; charset=utf-8",
url: 'http://myserver/mywebservice.asmx/MyMethod',
dataType: 'jsondata',
success: function (msg) {
var table = "<table><tr><th>ID</th><th>Title</th></tr>"
for (var i = 0; i <= msg.length - 1; i++) {
var row = "<tr>";
row += "<td>" + msg[i].ID + "</td>";
row += "<td>" + msg[i].Title + "</td>";
row += "</tr>";
table += row;
}
table += "</table>";
$("#myDiv").html(table);
},
complete: function () {
alert("complete");
}
});
网络服务:
<WebMethod(), ScriptMethod(ResponseFormat:=ResponseFormat.Json, UseHttpGet:=True)> _
Public Function MyMethod() As String
'removed for shorter post
End Function
更新:所以使用 Chrome 中的开发工具,我发现我的部分问题是服务器返回 403 Forbidden 错误。经过一些调整后,我想出了一个部分解决方案,可以用 json 格式返回我的数据。但是,该 json 格式的文本现在包装在 XML 中。:-(
我还没有弄清楚如何从我的 json 中获取 XML。有任何想法吗?