Asp.net
使用 jquery ajax asp.net 4.0 呼叫 asmx 服務
我正在嘗試使用 jquery 呼叫範例 asmx 服務,這是 jquery 程式碼
$.ajax({ type: "POST", url: "/Services/Tasks.asmx/HelloWorld", data: "{}", dataType: "json", contentType: "application/xml; charset=utf-8", success: function (data) { alert(data); } });這沒有顯示任何消息,程式碼在 asp.net 4.0 中,我錯過了什麼嗎?
編輯 - 我將 dataType 更改為 xml,現在成功函式正在執行,它返回以下 xml
<?xml version="1.0" encoding="utf-8"?> <string xmlns="http://tempuri.org/">Hello World</string>我正在使用以下程式碼來解析 xml 數據,它在警報中顯示為 null
success: function (data) { edata = $(data).find("string").html(); alert(data); }
我相信這是因為您擁有 dataType: “json” 並且它期望響應內容類型相同,但返回的是 XML。我敢打賭,整個事件正在被提出,但沒有成功。
嘗試
$.ajax({ type: "POST", url: "/Services/Tasks.asmx/HelloWorld", data: "{}", dataType: "json", contentType: "application/xml; charset=utf-8", success: function (data) { alert(data); }, complete: function (data) { alert(data); } });更新
我認為這是因為您使用的是 .html(),因此需要使用 text()。另外我不知道您是否打算這樣做,但是您
data的警報中有,我假設您打算使用edata. 以下對我有用:jQuery.ajax({ type: "POST", url: "/yourURL", dataType: "xml", data: "{}", contentType: "application/xml; charset=utf-8", success: function(data) { edata = $(data).find("string").text(); alert(edata); } })