我在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
?
答案 0 :(得分:0)
我认为问题是:你正在使用ajaxSetup错误的方法。查看ajaxSetup docs中的注释:
注意:全局回调函数应设置为各自的 全局Ajax事件处理程序方法-ajaxStart(),. ajaxStop(), .ajaxComplete(),. ajaxError(),. ajaxSuccess(),. ajaxSend() - 而不是 在$ .ajaxSetup()的选项对象中。
因此,如果你ajaxError而不是ajaxSetup,你可以在ajaxError处理程序中捕获全局处理程序的错误,并在$ .ajax的'error'参数内为特定请求添加额外的处理程序