这个问题就像另一个问题,只是在 JQuery 的上下文中提出了一个问题,我不使用它。
我页面上的 Ajax 代码每十秒发布一次 POST。偶尔——每约 600 个请求——我的客户端代码挂起等待永远不会出现的响应。
代码将超时并重新发出 Ajax 请求,但首先我想清理关于未完成请求的所有内容:我不想留下任何残留状态以便以后搞砸。
取消未完成的请求以使事情得到妥善整理的正确方法是什么?
谢谢!
存储对上一个 AJAX 请求的引用,并在启动下一个请求时中止它。
例如:
var lastRequest;
setInterval(function() {
lastRequest.abort(); // abort the last request
lastRequest = new XMLHTTPRequest(); // and the rest of your XHR code
}, 10000);