我有一个应用程序,它通过页面加载时的 $.ajax 调用检索一些页面数据(没有其他绑定,如“点击”等)。在一个场景中,当用户在响应到达之前重新加载页面(或导航到另一个页面)时,应用程序返回一个错误(错误事件ajaxError()被触发),状态码为 0。
当我做作业并阅读 SO(以及许多其他地方)时,我遇到了人们通过执行以下操作简单地忽略此类错误的帖子:
$(document).ajaxError(function(e, jqxhr, settings, exception) {
if (jqxhr.readyState == 0 || jqxhr.status == 0) {
return; //Skip this error
}
});
假设只有这种错误会被忽略,是否安全?是否会出现任何需要“特别注意”的负面情况?
还:
我发现了一些对类似问题的回复,指出“return false;” 或“preventDefault”解决了他们的问题。但在我的情况下,一切都发生在页面加载时,所以我不能“挂钩”任何提到的事件......或者我可以吗?
编辑:这里的另一个问题是:是否有任何其他方式来处理这些情况(ajax 请求被页面重新加载中断)?问题是我在一般 ajaxError 事件上绑定了错误报告,我想过滤掉这样的消息(或者甚至可能一开始就阻止它们发生)?