3

我想检测正在进行 Ajax 调用然后由于某些用户操作(例如,用户导航到另一个页面)而中断的情况?

我可以看到,当这种情况发生时,我的 onreadystatechange 处理程序被调用 readyState == 4 (DONE) 和 status == 0。

问题是,有什么方法可以确保这确实对应于所描述的场景(由于用户操作而中止请求)?我想避免掩盖其他可能更危险的错误。

4

2 回答 2

3

对于导航到另一个页面的用户,您可以使用该onbeforeunload事件。

例如:

window.onbeforeunload = function() {
    // Check ajax request state and do something accordingly...
}
于 2012-07-05T09:54:52.827 回答
1

当用户触发 ajax 请求时,您可以设置一个变量(布尔值)。将其设置回回调函数中。如果用户离开页面,您可以检查此变量。

于 2012-07-05T09:53:32.063 回答