当我使用 jquery 调用此服务器端函数时,出现“NetworkError: 500 Internal Server Error - http://localhost:5963/default.aspx/Call”
<html>
<head>
<script src="scripts/jquery-1.2.6-vsdoc.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function () {
$("#btn").click(function () {
$.ajax({
type: "POST",`enter code here`
url: "default.aspx/Call",
data: "{}",
contentType: "application/json; charset=utf-8",
async: true,
dataType: "json",
success: function (msg) {
alert("sdsd");
}
});
});
});
</script>
</head>
<body>
<form id="form1" runat="server">
<asp:RadioButton runat="server" ID="btn" Text="A" />
</form>
</body>
</html>
[System.Web.Services.WebMethod]
[System.Web.Script.Services.ScriptMethod]
public static void Call(string value)
{
var x = value;
}
请您参考如下方法:
首先,此脚本不会返回任何内容,因为您使用了错误的服务器控件 ID。呈现服务器控件时,它的 id 会发生变化。 尝试使用:
$("#<%=btn.ClientID %>")
你还有一个问题。您正在调用重载的 Web 方法,因此您需要传递一些数据:
data: "{'value': 'somevalue'}",
希望这会有所帮助。
