ajax处理返回的xml数据,使用AJAX调用WebService返回xml不返回json原因以及解决办法...
初次嘗試用AJAX調用webservice,結果無論怎么設置webservice返回的都是xml對象,一般的jquery處理json是更方便的。
webservice理論上將下面這段代碼按照說明取消注釋,就可以返回json數據了。
// 若要允許使用 ASP.NET AJAX 從腳本中調用此 Web 服務,請取消注釋以下行。
[System.Web.Script.Services.ScriptService]
webservice是可以自動在xml和json當中自由切換的,當使用json請求的時候返回的數據就會是json,但我多次嘗試一直返回xml,最后我終于找到下面這篇文章: jQuery調用WebService返回JSON數據
原來在jquery中,如果Content-Length為0或者沒有設置,它會忽略你設置的contentType,WebService就不知道我們需要JSON格式的數據,它就返回了默認的XML格式的數據給我們。
解決辦法也簡單,就是設置一下data參數,或者用BeforeSend重設一下contentType。如下:
$.ajax({
url: "WebService1.asmx/WS1",
type: "POST",
dataType: "json",
data: "",
beforeSend: function(x) {
x.setRequestHeader("Content-Type", "application/json; charset=utf-8");
},
success: function(json) {
alert(json.d);
},
error: function(x, e) {
alert(x.responseText);
},
complete: function(x) {
alert(x.responseText);
}
});
這樣,就可以返回json數據了!
(完)
總結
以上是生活随笔為你收集整理的ajax处理返回的xml数据,使用AJAX调用WebService返回xml不返回json原因以及解决办法...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何挑选好的无线路由器WiFi路由器如何
- 下一篇: 服务器mysql显示链接次数太多,服务器