从Ajax调用发生错误时MVC中的错误页面

时间:2015-07-14 16:39:23

标签: ajax asp.net-mvc

在我的MVC应用程序中,我使用从HandleErrorAttribute继承的自定义错误属性类来全局处理异常。

我的目标是:

  1. 发生异常时显示错误页面。
  2. 显示自定义错误页面。
  3. 在我的应用程序中,大多数控制操作方法都是使用Ajax调用的。我能够在没有使用Ajax调用的那些控制器操作发生异常时显示错误页面但是在Ajax调用错误的情况下会记录但是错误页面未显示。

1 个答案:

答案 0 :(得分:2)

在ajax设置中设置错误陷阱:

 $.ajaxSetup({
    error: function(jqXHR, exception) {
        if (jqXHR.status === 0) {
            alert('Not connect.\n Verify Network.');
        } else if (jqXHR.status == 404) {
            alert('Requested page not found. [404]');
        } else if (jqXHR.status == 500) {
            alert('Internal Server Error [500].');
        } else if (exception === 'parsererror') {
            alert('Requested JSON parse failed.');
        } else if (exception === 'timeout') {
            alert('Time out error.');
        } else if (exception === 'abort') {
            alert('Ajax request aborted.');
        } else {
            alert('Uncaught Error.\n' + jqXHR.responseText);
        }
    }
});

显然,你可以在发现错误时做任何事情。