我在Chrome中遇到以下问题:如果我在ajax请求期间点击页面上的锚点(将我重定向到其他页面),则会调用错误处理程序。我想确定它是否是真正的错误。
代码:
$.ajaxSetup({
error: function (xhr, status, error) {
...
},
abort: function () {
...
}
});
答案 0 :(得分:3)
使用onbeforeunload事件在卸载页面之前中止所有请求。这样,您将在status = 'abort'
中获得status = 'error'
而不是error: function(xhr, status, error){}
。
var request;
window.onbeforeunload = function() {
if(request !== undefined) {
request.abort();
}
}
request = $.ajax({ ... });
示例我已经在以下方面测试了此解决方案: