我有这个AJAX代码,但它似乎没有抛出'alert'方法。相反,没有任何反应。我用Fiddler看了一下,得到了这个错误信息:
{"Message":"There was an error processing the request.","StackTrace":"","ExceptionType":""}
我正在尝试在名为MyWebMethod
的代码隐藏中调用Web方法:
$.ajax({ type: "POST",
url: "Test.aspx/MyWebMethod",
data: "{" + username + "}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function() {
alert("success");
},
fail: function() {
alert("Fail");
}
});
当我在页面上有一个脚本管理器时,web方法工作正常,但我想删除脚本管理器并认为使用AJAX是最好的方法。
由于
答案 0 :(得分:3)
您在web.config中启用了自定义错误。因此,返回的异常将是通用的(大多数是空白的)并且每次都是相同的。这使得调试变得困难。
要查看真实异常,请暂时禁用自定义错误。 Here is how to do that for web services only,如果您需要这种粒度。
答案 1 :(得分:1)
我认为如果您将fail
更改为error
,您将获得第二个提醒框。
[编辑]我想如果你改变了
data: "{" + username + "}"
到
data: "{ 'username': '" + username + "' }"
你会得到第一个警报,虽然很难知道如果没有看到你正在打电话的服务。