setInterval不起作用回调函数

问题描述:

我想使用setInterval来调用一个函数,将使用ajax加载订单。但是,当我传入回调参数时,setInterval函数停止工作。 WsetInterval不起作用回调函数

母鸡我没有通过任何参数开始工作。

关于如何使它可以与参数一起工作的任何想法?以下是我的代码

预先感谢您!

function httpGetRequest(page){ 
     $.get(page) 
     .done(function(data){ 
       $(".display_orders").html(data); 
     }); 
} 
setInterval(httpGetRequest('load_orders.php'), 30000); 
+0

顺便说一句,这很可能是一个重复的问题,因为新手往往会碰到这样的问题,因为他们不明白javascript如何处理设置间隔和超时 –

在这种情况下

setInterval (httpGetRequest('load_orders.php'), 30000); 

功能立即执行

使用这样

setInterval (function() { 
    httpGetRequest('load_orders.php') 
}, 30000); 
+2

或者像这样'setInterval(httpGetRequest,30000,'load_orders.php');'(在现代浏览器上; IE> 9) –

+0

明白了!非常感谢@JqueryKing – json2021

你也可以这样调用。

function myFunction() 
{ 
httpGetRequest('load_orders.php'); 
} 

function httpGetRequest(page){ 

     $.get(page) 

      .done(function(data){ 
       $(".display_orders").html(data); 
      }); 


} 

setInterval (myFunction, 30000); 

另一种方法是使用下面的语法:

setInterval(httpGetRequest, 30000, 'load_orders.php'); 
+0

迷人,从来不知道你可以在毫秒后将参数传递给函数。 –

当你使用setIntervalsetTimeout一定要给它一个变量名,这样,如果你需要,你可以取消它。

var orderInterval = setInterval(function(){httpGetRequest('load_orders.php');}, 30000); 

倘若你想停止它,你现在就可以拨打电话:

clearInterval(orderInterval); 
+1

对不起,我复制了错误的代码位:P –