当我使用jquery调用服务器端函数时,我得到了"NetworkError: 500内部服务器错误- 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;
}发布于 2011-10-21 09:26:51
首先,这个脚本不会返回任何内容,因为您使用的是服务器控件的错误id。当呈现服务器控件时,它的id会发生更改。试着使用:
$("#<%=btn.ClientID %>")你还有另一个问题。您正在调用重载的web方法,因此需要传递一些数据:
data: "{'value': 'somevalue'}",希望这能帮上忙。
发布于 2011-10-21 09:20:30
这个路径scripts/jquery-1.2.6-vsdoc.js是否为您提供了正确的jQuery文件?看起来,您正在尝试将vsdoc文件作为一个普通库加载。
发布于 2011-10-21 14:37:49
您需要做的第一件事是使用FireBug控制台。这会告诉你错误是什么。
但是您的代码不能工作,因为您的返回类型是void。你真的需要把东西还给客户。将其更改为:
[System.Web.Services.WebMethod]
[System.Web.Script.Services.ScriptMethod]
public static string Call(string value)
{
var x = value;
return x; // Silly example
}https://stackoverflow.com/questions/7847166
复制相似问题