全局$ .ajaxSetup()的jQuery异常可能吗?

Ina*_*tor 11 ajax jquery

我使用以下内容来捕获未经授权的访问并强制登录:

$.ajaxSetup({
    statusCode: {
        401: function(){
            //do stuff
        }
    }
});
Run Code Online (Sandbox Code Playgroud)

工作得很好...当我访问我的服务器(域)上的资源时,但现在我试图通过ajax调用使用第三方API资源,他们的401也被这个抓住了.那么,我怎么可能:

  1. 重写上面的代码只能从我的域中捕获401,或者
  2. 使用上述代码的异常进行$ .ajax()调用(使用不同的错误处理程序)

非常感谢!

Ina*_*tor 12

通过实验,我发现了答案.$ .ajaxSetup()基本上为任何$ .ajax()请求设置默认值.但是,可以为特定请求覆盖全局设置,如下所示:

$.ajaxSetup({
    statusCode: {
        401: function(){
            //this will catch any and all access denied errors
        }
    }
});

$.ajax({
    type: 'GET',
    dataType: 'json',
    url: someresouceurl,
    statusCode: {
        401: function(){
            //except this one!
        }
    },
    success: function(data) {
    }
});
Run Code Online (Sandbox Code Playgroud)