1

我有这个 AJAX 代码,但它似乎没有抛出“警报”方法。相反,什么也没有发生。我用 Fiddler 看了一下,得到了这个错误信息: {"Message":"There was an error processing the request.","StackTrace":"","ExceptionType":""}

我正在尝试在名为的代码隐藏中调用 Web 方法MyWebMethod

 $.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 是最好的方法。

谢谢

4

2 回答 2

3

您在 web.config 中启用了自定义错误。因此,返回的异常将是通用的(大部分为空白)并且每次都相同。这使得调试变得困难。

要查看真正的异常,请暂时禁用自定义错误。 如果您需要这种粒度,以下是仅针对 Web 服务执行此操作的方法。

于 2010-11-03T22:32:08.797 回答
1

我想如果你fail改为error,你会得到第二个警报框。

[编辑]我想如果你再改变

data: "{" + username + "}"

data: "{ 'username': '" + username + "' }"

您将收到第一个警报,尽管如果没有看到您正在调用的服务很难知道这一点。

于 2010-03-10T22:10:34.980 回答