我有一个这样的网络方法:
[WebMethod]
[ScriptMethod(UseHttpGet = true)]
public static string test(string Name, int? Age)
{
return "returned value";
}
以及 ajax 调用:
$.ajax({
type: "GET",
url: "form.aspx/test",
data: {'Name': "n1", 'Age': 30},
contentType: "application/json; charset=utf-8",
success: function (data) {
console.log(data);
}
});
没有参数/数据它可以工作,但是当我尝试传递一些参数时我得到这个错误:
GET http://localhost:55410/test.aspx/test?Name=n1&Age=30
500 (Internal Server Error)
我认为这是详细的异常:
System.ArgumentException: Unknown web method form.
Parameter name: methodName
最佳答案
您需要传递一个对象而不是字符串,并在 n1
周围加上引号以使其成为一个字符串:
$.ajax({
type: "GET",
url: "test.aspx/test",
data: {'Name': 'n1', 'Age': 30}, // remove quotes & add quotes to n1
contentType: "application/json; charset=utf-8",
success: function (data) {
console.log(data);
}
});
关于javascript - ASP.NET web方法获取带有参数的ajax,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50594387/