我想在2分钟后停止ajax请求

i would like to stop ajax request after 2 minutes

本文关键字:ajax 请求 2分钟      更新时间:2023-09-26

我的ajax函数每15秒工作一次。我想在2分钟后停止。

我该怎么做?

 window.setInterval(function () {
      var request = $.ajax({
         ...
      })
 }, 15000);

使用clearIntervalclearInterval()方法清除使用setInterval()方法设置的计时器。

var request;
var _timer = setInterval(function() {
  request = $.ajax({
    ...
  });
}, 15 * 1000);
setTimeout(function() {
    clearInterval(_timer);
    request.abort(); // If you want to abort the xhr which are still executing after 2 minutes
}, 2 * 60 * 1000);

var t=0;
var i=15000;
var m=Math.abs( 2 * 60 * 1000 );
var tmr=window.setInterval( function () {
     var request = $.ajax({ /* do something */ });
     t+=i;
     if( t >= m ) clearInterval( tmr );
}, i );

注意@Jay!

实际上与@void发布的答案相同——除了没有杀死一个活动的ajax请求之外。要取消间隔,必须将其指定为一个变量,在调用clearInterval方法时可以引用该变量。