这个问题就像 another,除了在JQuery的上下文中询问一个,我不使用。
my page上的Ajax代码每十秒发出一次POST。偶尔 - 每600个请求 - 我的客户端代码挂起,等待永远不会显示的响应。
代码会超时并重新发出Ajax请求,但首先我要清理所有关于未完成请求的内容:我不想留下任何残留状态以便稍后解决问题。
取消未完成的请求以便正确整理的正确方法是什么?
谢谢!
答案 0 :(得分:5)
存储对上一个AJAX请求的引用,并在您启动下一个请求时abort。
例如:
var lastRequest;
setInterval(function() {
lastRequest.abort(); // abort the last request
lastRequest = new XMLHTTPRequest(); // and the rest of your XHR code
}, 10000);