我有一个网站项目(ASP.NET 3.5)。
Search.aspx.cs中的一种方法如下所示。这是我试图调用的方法,因此我可以将一些数据返回给Ajax调用:
[WebMethod]
public static string TestMethod(string param)
{
return "It worked";
}
从客户端按钮调用上述方法有困难点击Search.aspx页面内部:
<form runat="server" id="mainForm" class="form-horizontal">
<input id="addButton" type="button" value="Add" />
</form>
<script>
$('#addButton').click(function () {
$.ajax({
type: "GET",
url: "Search.aspx/TestMethod",
data: "{}",
contentType: "application/json",
dataType: "json",
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert("Request: " + XMLHttpRequest.toString() + "\n\nStatus: " + textStatus + "\n\nError: " + errorThrown);
},
success: function (result) {
alert("We returned: " + result);
}
});
});
</script>
这是显示错误ajax功能的警告框的屏幕。
这是Firefox调试器中的另一个:
以下是来自Firefox调试器的完整错误的屏幕截图:
答案 0 :(得分:-1)
您的方法希望收到参数...
将您的方法更改为:
[WebMethod]
public static string TestMethod()
{
return "It worked";
}
或者将你的js更改为此(你必须使用POST类型):
<script>
$('#addButton').click(function () {
$.ajax({
type: "POST",
url: "Search.aspx/TestMethod",
data: JSON.stringify({ "param" : "anything"}),
contentType: "application/json",
dataType: "json",
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert("Request: " + XMLHttpRequest.toString() + "\n\nStatus: " + textStatus + "\n\nError: " + errorThrown);
},
success: function (result) {
alert("We returned: " + result);
}
});
});
</script>