这个问题和另一个问题一样,只是在JQuery的上下文中问了一个问题,我没有使用它。
我页面上的Ajax代码每10秒钟发出一次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);