0
我在我的ASPX頁面中有下面的代碼來從web服務獲取一些數據。我不能使用WCF,所以我使用ASMX和.Net 3.5。但是,我找回的是黃色的ASP.net錯誤頁面,它將web.config錯誤標籤設置爲OFF。如果我從後面的代碼調用我的方法並響應,將它寫入頁面,我得到一個JSON字符串,這是我在JSON查看器中查看的,它解析得很好。我的問題是URL格式。我在這裏做錯了什麼。我找到的每個示例都使用webservice.asmx/Method格式。我還添加了協議,我的web.configAjax Webservice調用
<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");
}
});
的Webservice:
<WebMethod(), ScriptMethod(ResponseFormat:=ResponseFormat.Json, UseHttpGet:=True)> _
Public Function MyMethod() As String
'removed for shorter post
End Function
UPDATE:因此,使用開發者工具在Chrome中我發現,我的問題的一部分是服務器返回403 Forbidden錯誤。在調整了som之後,我提出了一個部分解決方案,它使我用json格式化數據。但是,那個json格式的文本現在被包裝在XML中。 :-(
我至今尚未能弄清楚如何獲得XML我的JSON的任何想法
謝謝你的回答,但我不確定我是否按照你的說法行事。與我有什麼和你有什麼不同是刪除charset = utf-8並將jsondata更改爲json,對吧?如果是這樣,這仍然不起作用。 –
,並刪除網址的第一部分,以僅引用網頁上的相對位置(來自您的網站)的位置。 - 當然隔離.net產生的msg.d對象。 –
而且,您必須在.Net 3.5 web.config中有一些額外的設置才能使其工作 - 在Google上搜索或在SO –