如果我有等待服务器响应的未完成的 jQuery $.ajax 事件,它们都会在加载新页面时抛出错误(例如,通过用户单击 href)。这似乎是 Firefox 8 及更高版本中的新行为。
奇怪的是,当前页面的 JavaScript 似乎在加载新页面时继续运行。因此,当错误被触发时,我想检测到它是一个特殊情况,一个“因为在等待 Ajax 响应时加载了新页面而中止”类型的错误并将其吞下。
问题是通过 ajax 错误事件 jqXHR 或 textStatus、errorThrown 返回的所有属性都没有返回“错误”以外的任何信息。
那么如何检测这种特定的错误类型呢?或者我如何检测 Firefox 已开始加载新页面,以便我可以忽略该错误?
最佳答案
您可以使用 jQuery unload method为此:
$(window).unload(function() {
// setIgnoreErrorFlag / cancel outstanding requests etc
});
关于javascript - 在 Firefox 中加载新页面时如何防止未完成的 jquery ajax 事件抛出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8591935/