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

时间:2009-04-28 03:01:19

标签: jquery asp.net-mvc ajax exception

如果我使用带有错误处理程序的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 个答案:

答案 0 :(得分:3)

对于它的价值,我通常会有任何操作返回包含在try / catch块中的JsonResult,以便它不会抛出异常。相反,我为每个Json数组返回两个参数:“ok”(true / false)和“message”(包含在出现错误时显示给用户的消息)。

然后我省略$ .ajax“error”参数,并在JsonResult结果的“ok”参数上做一个简单的分支。

答案 1 :(得分:1)

你正在做什么没有错,但如果你想要想法......如果请求有应用程序/ json标题会将错误序列化为JSON的自定义错误页面怎么办?

答案 2 :(得分:0)

您正在寻找更容易而不是5行代码?真的?

第1行,解析错误。这是您的服务器的自定义,所以我没有看到jQuery的任何通用工具如何帮助。

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

我个人不会在这里使用匿名函数(称之为alertUser或其他东西),但我认为这种方法没有错。