Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/455.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我想在2分钟后停止ajax请求_Javascript_Php_Ajax_Xmlhttprequest - Fatal编程技术网

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

Javascript 我想在2分钟后停止ajax请求,javascript,php,ajax,xmlhttprequest,Javascript,Php,Ajax,Xmlhttprequest,我的ajax功能每15秒工作一次。我想在2分钟后停止 我该怎么做 window.setInterval(function () { var request = $.ajax({ ... }) }, 15000); 使用clearInterval,clearInterval()方法清除使用setInterval()方法设置的计时器 var请求; var_timer=setInterval(函数(){ 请求=$.ajax({ ... }); }, 1

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

我该怎么做

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

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

var请求;
var_timer=setInterval(函数(){
请求=$.ajax({
...
});
}, 15 * 1000);
setTimeout(函数(){
清除间隔(_定时器);
request.abort();//如果要中止2分钟后仍在执行的xhr
}, 2 * 60 * 1000);
注意@Jay


与@void发布的答案几乎相同,只是没有终止一个活动的ajax请求。要取消间隔,必须将其指定为一个变量,在调用
clearInterval
方法时可以引用该变量。

erm。。。其余的代码怎么了?另一个选择是在主计时器中迭代七次后执行。@nicael是的,您也可以这样做。为什么OP要尝试这个?一个好的答案总是会有一个解释,说明做了什么以及为什么这样做,不仅是为了OP,而且是为了未来的访客。
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 );