【问题标题】:How to correctly cancel an outstanding Ajax request that will never complete?如何正确取消永远不会完成的未完成的 Ajax 请求?
【发布时间】:2011-09-08 09:17:19
【问题描述】:

这个问题类似于 another,只是在JQuery 的上下文中提出了一个问题,我不使用它。

my page 上的 Ajax 代码每十秒发​​出一次 POST。偶尔——每约 600 个请求——我的客户端代码挂起等待永远不会出现的响应。

代码将超时并重新发出 Ajax 请求,但首先我想清理关于未完成请求的所有内容:我不想留下任何残留状态以便以后搞砸。

取消未完成的请求以使事情得到妥善整理的正确方法是什么?

谢谢!

【问题讨论】:

    标签: ajax request-cancelling


    【解决方案1】:

    存储对您上一个 AJAX 请求的引用,并在您开始下一个请求时将其 abort

    例如:

    var lastRequest;
    
    setInterval(function() {
        lastRequest.abort(); // abort the last request
    
        lastRequest = new XMLHTTPRequest(); // and the rest of your XHR code
    }, 10000);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-12-14
      • 2021-12-17
      • 2020-12-22
      • 1970-01-01
      • 1970-01-01
      • 2017-01-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多