Javascript 如何将错误从$.ajax实例冒泡到$.ajax设置?
我在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
$.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'参数中为特定请求添加额外的处理程序。请使用上面的代码并按照您建议的方式实现它。当我理解了你的意思后,我想你的解决方案是行不通的。请使用我上面的代码并按照你建议的方式实现它。当我理解你的意思时,我想你的解决方案是行不通的。