我想检测正在进行Ajax调用,然后由于某些用户操作(例如,用户导航到另一个页面)而中断的情况?
我可以看到,当发生这种情况时,将以readyState == 4(DONE)和status == 0调用onreadystatechange处理程序.
问题是,是否有任何方法可以确保它确实符合所描述的方案(由于用户操作而中止了请求)?我想避免掩盖其他可能更危险的错误.
解决方法:
对于导航到另一个页面的用户,您可以使用onbeforeunload事件.
例如:
window.onbeforeunload = function() {
// Check ajax request state and do something accordingly...
}