Ajax对webmethod的调用导致ERROR 500内部服务器错误

本文关键字:ERROR 内部 服务器 错误 webmethod 调用 Ajax | 更新日期: 2023-09-27 17:57:55

我正试图通过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")
}
});

,web方法代码为:

[System.Web.Services.WebMethod]
[ScriptMethod(UseHttpGet = false)]
public static string LoginMethod(string param)
{
string _param = param;
    return "OKDONNE";
}

但我收到了错误500内部服务器错误,ajax调用中的错误函数被称为警报"0"。请帮助我尝试了几乎所有的方法!

Ajax对webmethod的调用导致ERROR 500内部服务器错误

将此行data: { paramtr: "abc" },更改为data: { param: "abc" },

因为您的c#代码接受param而不是paramtr

我通过放入以下代码行解决了这个问题:

 data: JSON.stringify({ param: 1}),

现在一切正常,没有任何错误。感谢@vivek的输入

始终确保您的json密钥与web方法接收的参数相同。例如

var obj = new Object();
obj.id = 'person';
obj.age = 30;
[WebMethod]
public static string savePerson(string id, int age){
    string outcome = "";
    return outcome;
}

经过近一天的错误处理,我发现500