我试图通过ajax调用来调用web方法。
jQuery代码是:
$.ajax({
method: "POST",
url: "Login.aspx/LoginMethod",
data: { paramtr: "abc" },
contentType: "application/json; charset=utf-8",
dataType:'json',
success: function (result) {
swal("Done", "User added !", "success");
alert(result);
},
error: function () {
alert('0');
swal("Oops!", "Something went wrong!", "error")
}
});
,网络方法代码为:
[System.Web.Services.WebMethod]
[ScriptMethod(UseHttpGet = false)]
public static string LoginMethod(string param)
{
string _param = param;
return "OKDONNE";
}
但我收到错误500内部服务器错误和ajax调用中的错误函数被称为警告'0'。请帮助我几乎尝试了所有内容!
答案 0 :(得分:3)
将此行data: { paramtr: "abc" },
更改为data: { param: "abc" },
。
因为您的c#代码接受param
而不是paramtr
。
答案 1 :(得分:1)
我通过下面的代码行解决了这个问题:
data: JSON.stringify({ param: 1}),
现在一切正常,没有错误。感谢@vivek的投入
答案 2 :(得分:1)
始终确保您的json密钥与Web方法接收的参数相同。 e.g ...
var obj = new Object();
obj.id = 'person';
obj.age = 30;
[WebMethod]
public static string savePerson(string id, int age){
string outcome = "";
return outcome;
}
经过差不多一天的错误500后,我发现了