2013-02-14 66 views
0

有没有办法阻止.complete呼叫被解雇?完成和失败都不够好,因为整个部分有递归。 (我想即使它失败,做一遍)一种方法来停止ajax.complete

request.complete(function(){ 
       myrefresh = setTimeout(function(){updateMenu(ID);}, 5000); 
      }); 

是我Ajax调用的完整方法运行每5秒。 最后,当这个更新完成时,我会有一个来自request.done的响应,它会给我一个标志来进行条件化。 即我想要做这样的事情:

if(flag=0) { request.complete(function(){ 
       myrefresh = setTimeout(function(){updateMenu(ID);}, 5000); 
      }); 
} else { clearInterval(myrefresh) } 

但在一个大

var request = $.ajax({ 
      url: etc 

的结构设置。

任何想法?

关于如何设置?我似乎无法让.done return(text)var在.complete区域中工作。

回答

1

我认为你正在寻找setInterval()clearInterval()。它们是原生JavaScript函数,允许您以给定的时间间隔重复执行一个函数。

var intervalId = setInterval(updateMenu, 5000, ID); 
// When you want to stop.... 
clearInterval(intervalId); 
相关问题