全局处理jQuery AJAX错误

时间:2012-09-27 15:42:50

标签: javascript ajax jquery error-handling

您有什么想法全局处理AJAX错误,在控制台中显示任何/所有信息?

截至目前,我做了类似的事情:

jSpace._displayAjaxErrors = function (xhrResponseText) {

    var errObj = $.parseJSON(xhrResponseText);

    // _log is an internal console log that won't break in IE (aka does nothing)
    _self._log('\n -- AJAX ERROR @ ' + _self._getTimeStamp() + ' --');

    _self._log('ExceptionType : '   + errObj.ExceptionType);
    _self._log('Error Message : '   + errObj.Message);
    _self._log('StackTrace    : \n' + errObj.StackTrace);​

    // then a dialogBox here
};

目前,每个.ajax()都包含此内容:

error: function (xhr, status, error) {
    jSpace._displayAjaxErrors(xhr.responseText);
}

我不熟悉.ajaxError(),但想知道是否有更好的方法可以做到这一切!

您如何轻松查看错误的位置/位置?

1 个答案:

答案 0 :(得分:2)

jQuery已经提供ajaxError函数来全局捕获所有ajax错误,你只需要使用它

$( "div.log" ).ajaxError(function(e, jqxhr, settings, exception) {
  //e for event 
  //jqxhr for xhrResponse
});

http://api.jquery.com/category/ajax/global-ajax-event-handlers/