$(document).ajaxError
是 jQuery 中的一个全局事件处理器,用于处理所有 AJAX 请求的错误。如果在遇到 401 错误时该事件处理器未触发,可能是由于以下几个原因:
$(document).ajaxError
是在 AJAX 请求发出之后绑定的,那么它将不会捕获之前的请求错误。.fail()
或 .error()
处理器,它可能会阻止全局错误处理器触发。以下是一个完整的示例,展示了如何在文档加载时就绑定 ajaxError
事件处理器,并且处理 401 错误:
$(document).ready(function() {
$(document).ajaxError(function(event, jqxhr, settings, exception) {
if (jqxhr.status === 401) {
console.log('401 Unauthorized error detected.');
// 这里可以添加具体的错误处理逻辑,例如重定向到登录页面
window.location.href = '/login';
} else {
console.log('Other AJAX error:', jqxhr.status, exception);
}
});
// 示例 AJAX 请求
$.ajax({
url: 'https://example.com/api/data',
method: 'GET'
}).done(function(data) {
console.log('Data received:', data);
}).fail(function(jqxhr, textStatus, errorThrown) {
console.log('Request failed:', textStatus, errorThrown);
});
});
通过以上方法,可以确保 $(document).ajaxError
能够正确捕获并处理 401 错误。如果问题仍然存在,建议检查浏览器的控制台是否有其他错误信息,或者使用网络调试工具查看具体的请求和响应情况。
领取专属 10元无门槛券
手把手带您无忧上云