代码之家  ›  专栏  ›  技术社区  ›  tvanfosson

如何从失败的jquery请求中获取异常消息?

  •  1
  • tvanfosson  · 技术社区  · 15 年前

    如果我将jquery ajax与错误处理程序一起使用,并且调用的ASP.NET MVC操作引发异常,那么我希望能够向用户显示异常中的消息。现在我正在使用:

     $.ajax( {
        ...
        error: function(request,status,error) {
            var exp = new RegExp('<title>(.*)<\/title>','i');
            if (exp.exec(request.responseText)) {
               alert( RegExp.lastParen );
            }
            else {
               alert( status );
            }
        }
     });
    

    我希望有一个规范的jquery实现,而不是滚动我自己的实现。

    3 回复  |  直到 15 年前
        1
  •  3
  •   Portman    15 年前

    对于它的价值,我通常有任何返回包装在try/catch块中的JSonResult的操作,这样它就不会抛出异常。相反,我在每个JSON数组中返回两个参数:“OK”(真/假)和“message”(包含出错时要向用户显示的消息)。

    然后,我省略了$.Ajax的“错误”参数,并在jsonResult结果的“OK”参数上做了一个简单的分支。

        2
  •  1
  •   Chad Grant    15 年前

    你所做的没什么错,但如果你想有想法…如果请求有application/json头,那么将错误序列化为json的自定义错误页呢?

        3
  •  0
  •   Frank Krueger    15 年前

    你在找什么 更容易的 超过5行代码?真的?

    第1行,分析错误。这是对您的服务器的自定义,所以我看不到jquery的任何通用工具都有什么帮助。

    第2-5行,根据分析显示不同的错误。同样,这是服务器的自定义设置。

    我个人不会在这里使用匿名函数(称之为 alertUser 但我认为这种方法没有什么问题。