jQuery全局ajax错误处理程序在“本地”之前触发

时间:2013-08-28 14:30:51

标签: jquery

我想全局处理401个错误,只在本地处理其他错误。 本地意味着在fail处理程序内进行AJAX调用。

为此,我在ajaxError上实施了document处理程序。 但是,问题是本地fail处理程序在全局处理程序之前被触发。 所以全局处理程序中的event.stopImmediatePropagation()是无用的。

我该如何制作它以便首先触发全局一个,从而防止本地一个被射击。 谢谢。

1 个答案:

答案 0 :(得分:-1)

    var statusCodeError = function(error) {
        throw new Error('--> Error code ' + error.status + ' on XMLHttpRequest');
    };
    var settings = {
        type        : 'POST',
        url         : '/ajax-script.php',
        dataType    : 'json',
        context     : document.body,
        statusCode  : {
            404: statusCodeError,
            301: statusCodeError,
            302: statusCodeError,
            401: statusCodeError,
            500: statusCodeError
        }, failure : statusCodeError
    };

    $.ajaxSetup(settings);