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

i would like to stop ajax request after 2 minutes

我的 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 方法时引用。