我試圖通過AJAX在WebForms應用程序中調用Web服務。
我的劇本看起來是這樣的:
$.post('UpdateServer.asmx/ProcessItem',
'itemId=' + $(this).text(),
function (result) {
alert(result);
});
我的web服務看起來是這樣的。
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
[System.Web.Script.Services.ScriptService]
public class UpdateServer : System.Web.Services.WebService
{
[WebMethod]
public string ProcessItem(int itemId)
{
return new JavaScriptSerializer().Serialize(
new { Success = true, Message = "Here I am!" });
}
}
Web方法按預期的方式調用,並帶有預期的參數。然而,傳遞給我的成功函數(最後一個參數爲$ .post())的參數是文檔類型,並且不包含我期望的成功和消息成員。
什麼是魔術詞,以便我可以找回我期待的對象?
編輯
仔細觀察,我能找到我要找的如下數據:
result.childNodes [0] .childNodes [0]。數據: 「 { 「成功」:真實的, 「消息」: 「服務器更新成功!」}」
你可以發佈該方法的實際http響應嗎?你可以使用chrome開發工具或者像fiddler這樣的工具記錄下來。 – 2012-04-15 21:08:36
什麼是你收到的文件? – domoindal 2012-04-15 21:14:23