Javascript JQuery捕获任何ajax错误
我喜欢捕捉任何ajaxJavascript JQuery捕获任何ajax错误,javascript,jquery,ajax,Javascript,Jquery,Ajax,我喜欢捕捉任何ajax401未经授权的异常,但不喜欢更改所有ajax查询。是否有一种方法可以更改任何$.ajax调用,如(覆盖任何错误处理程序)?您可以使用全局ajax事件处理程序 您可以这样做: $(function() { $.ajaxSetup({ error: function(jqXHR, exception) { if (jqXHR.status === 401) { alert('HTTP Error
401未经授权的异常,但不喜欢更改所有ajax查询。是否有一种方法可以更改任何$.ajax调用,如(覆盖任何错误处理程序)?您可以使用全局ajax事件处理程序
您可以这样做:
$(function() {
$.ajaxSetup({
error: function(jqXHR, exception) {
if (jqXHR.status === 401) {
alert('HTTP Error 401 Unauthorized.');
} else {
alert('Uncaught Error.\n' + jqXHR.responseText);
}
}
});
});
这将捕获任何ajax
调用中的错误。尝试使用.ajaxError()
作为全局方法。函数将允许您为ajax调用指定全局选项。但是要小心,因为对ajaxSetup()
的其他调用将覆盖全局选项,而对ajax()
方法指定的本地选项将覆盖全局设置
要捕获401
状态代码,只需添加
$.ajaxSetup({
statusCode: {
401: function(err){
console.log('Login Failed.', err.responseJSON);
// or whatever...
}
}
});
在AJAX调用被激发之前的某个地方访问您的页面。使用谷歌将在几秒钟内为您提供答案:$.ajaxSetup({statusCode:{401:function(){//这将捕获所有拒绝访问的错误}}})
如果ajax调用在$等选项中指定了错误
回调,它将失败。ajax({url:'',error:function(){}})
有时jqxhr
为空,但palaѕѕѕh解决方案对我有效。无论出于何种原因,当我使用此代码段时,status始终为0。有什么想法吗?
$.ajaxSetup({
statusCode: {
401: function(err){
console.log('Login Failed.', err.responseJSON);
// or whatever...
}
}
});