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