当方法具有参数时,Ajax 回调失败
本文关键字:Ajax 回调 失败 参数 方法 | 更新日期: 2023-09-27 17:56:57
我有以下javascript:
<script type="text/javascript">
$(document).ready(function() {
$.ajax({
type: "POST",
url: "WebForm3.aspx/sayHello",
contentType: "application/json; charset=utf-8",
data: "{}",
dataType: "json",
success: AjaxSucceeded,
error: AjaxFailed
});
});
function AjaxSucceeded(result) {
alert(result.d);
}
function AjaxFailed(result) {
alert(result.status + ' ' + result.statusText);
}
</script>
我的代码中隐藏了以下内容。
[WebMethod]
public static string sayHello()
{
return "hello";
}
这有效并显示你好。
现在,如果我这样做:
[WebMethod]
public static string sayHello(string args)
{
return "hello";
}
然后我得到内部服务器错误 500 作为回复。
如何更改此设置以允许我将实际数据发送到服务器端?
data: {
args: "hello world"
},
此外,还要删除contentType
和dataType
。
另外,请添加traditional: true
。您生成的请求将是:
$.ajax({
type: "POST",
url: "WebForm3.aspx/sayHello",
traditional: true,
data: {
args: "hello world"
},
success: AjaxSucceeded,
error: AjaxFailed
});
嗯,
这有效:
$(document).ready(function() {
$.ajax({
type: "POST",
url: "WebForm3.aspx/Test",
data: '{"data":"abc"}',
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (response) {
alert(response.d);
}
});
});