我在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的方式错误。检查ajaxSetup docs中的注释:
注意:全局回调函数应分别设置
全局Ajax事件处理程序方法-.ajaxStart()、. ajaxStop(),
.ajaxComplete()、. ajaxError()、. ajaxSuccess()、. ajaxSend()-而不是
在$ .ajaxSetup()的options对象中。
因此,如果您ajaxError而不是ajaxSetup,则可以在ajaxError处理程序内捕获全局处理程序的错误,并为$ .ajax的'error'参数内的特定请求添加其他处理程序
关于javascript - 如何将错误从$ .ajax实例冒泡到$ .ajaxSetup?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39916367/