Javascript 如何将错误从$.ajax实例冒泡到$.ajax设置?

Javascript 如何将错误从$.ajax实例冒泡到$.ajax设置?,javascript,jquery,ajax,exception-handling,jquery-2.0,Javascript,Jquery,Ajax,Exception Handling,Jquery 2.0,我在ajax设置中定义了一个错误回调,它将在每个ajax实例中执行: $.ajaxSetup({ cache: false, error: function (data, textStatus, pStatusDescription) { if (pStatusDescription === "Unauthorized") { // show dialog alert("Your Login ha

我在ajax设置中定义了一个错误回调,它将在每个ajax实例中执行:

$.ajaxSetup({

    cache: false,
    error: function (data, textStatus, pStatusDescription) {

        if (pStatusDescription === "Unauthorized")
        {
            // show dialog
            alert("Your Login has expired. Please re-login.");
            return;
        }
    }
});
我还有一个简单的ajax请求,它有自己的错误处理定义。此定义覆盖了
$中的定义。ajaxSetup

$.ajax({
    url: "http://hostname",
    success: function(xhr) { ... },
    error: function(data, textStatus, pStatusDescription) { 

        if(pStatusDescription === "ObjectNotFound")
        {
            // remove Object
            return;
        }

        // call 'error' callback in $.ajaxSetup now.
    }
});

如何将错误从
$.ajax
实例冒泡到
$.ajaxSetup

我认为问题在于:您使用ajaxSetup的方式错误。请将注释签入:

注意:全局回调函数应使用各自的 全局Ajax事件处理程序方法-.ajaxStart(),.ajaxStop(), .ajaxComplete(),.ajaxError(),.ajaxSuccess(),.ajaxSend()-而不是 在$.ajaxSetup()的选项对象中


所以,如果您不使用ajaxSetup,您可以捕获全局处理程序的ajaxError处理程序中的错误,并在$.ajax的'error'参数中为特定请求添加额外的处理程序。我认为问题是:您使用ajaxSetup的方式不对。请将注释签入:

注意:全局回调函数应使用各自的 全局Ajax事件处理程序方法-.ajaxStart(),.ajaxStop(), .ajaxComplete(),.ajaxError(),.ajaxSuccess(),.ajaxSend()-而不是 在$.ajaxSetup()的选项对象中


因此,如果您不使用ajaxSetup,您可以捕获全局处理程序的ajaxError处理程序中的错误,并在$ajax的'error'参数中为特定请求添加额外的处理程序。请使用上面的代码并按照您建议的方式实现它。当我理解了你的意思后,我想你的解决方案是行不通的。请使用我上面的代码并按照你建议的方式实现它。当我理解你的意思时,我想你的解决方案是行不通的。