我试图在 WebForms 应用程序中通过 AJAX 调用 Web 服务。
我的脚本看起来像这样:
$.post('UpdateServer.asmx/ProcessItem',
'itemId=' + $(this).text(),
function (result) {
alert(result);
});
我的网络服务看起来像这样。
[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() 的最后一个参数)是文档类型,不包含我期望的 Success 和 Message 成员。
有什么神奇的词可以让我找回我期待的对象?
编辑
经过仔细检查,我可以找到我要查找的数据,如下所示:
result.childNodes[0].childNodes[0].data: "{"Success":true,"Message":"服务器更新成功!"}"