我在 ASP.NET 页面后面的 C# 代码中有一个基本功能。它接受一个字符串(我将其格式化为 JSON 对象)并返回一个字符串。
[WebMethod]
public static string TestPageMethod(string json)
{
return json;
}
我的javascript如下:
var updateUserLocationsJson = "{\"test\",123}";
$.ajax({
type: "POST",
url: "../../Manager/AddEditUser.aspx/TestPageMethod",
data:updateUserLocationsJson,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
alert(msg.d);
}
});
如果我从中删除字符串参数并从 javascript 调用中删除数据字段,我可以让服务器端方法触发。
如果我使用页面方法调用它,我也可以让服务器端方法触发,即
PageMethods.TestPageMethod("{\"test\",123}", PageMethodSuccess, PageMethodFail);
但是,我希望在传递数据时使用 $.ajax 方法让它工作。我无法弄清楚为什么它不起作用。有人可以对此有所了解吗?