Javascript 带计时器的Jquery/Ajax调用
我有一个php页面,可以从数据库中回显行。我想每30秒通过jquery/ajax调用一次。但我也希望能够随时调用页面,这样,如果我通过表单添加记录,一旦表单提交,我希望通过调用ajax将页面立即更新结果。有没有人能给我指出正确的方向,或者提供一些基本代码,让我试着找出答案?对于jquery/ajax来说还是很新的。如果您想在计时器上设置一些东西,可以使用JavaScript的Javascript 带计时器的Jquery/Ajax调用,javascript,jquery,ajax,timer,setinterval,Javascript,Jquery,Ajax,Timer,Setinterval,我有一个php页面,可以从数据库中回显行。我想每30秒通过jquery/ajax调用一次。但我也希望能够随时调用页面,这样,如果我通过表单添加记录,一旦表单提交,我希望通过调用ajax将页面立即更新结果。有没有人能给我指出正确的方向,或者提供一些基本代码,让我试着找出答案?对于jquery/ajax来说还是很新的。如果您想在计时器上设置一些东西,可以使用JavaScript的setTimeout或setInterval方法: setTimeout ( expression, timeout );
setTimeout
或setInterval
方法:
setTimeout ( expression, timeout );
setInterval ( expression, interval );
其中,表达式
是一个函数,超时
和间隔
是以毫秒为单位的整数setTimeout
运行计时器一次,并运行表达式一次,而setInterval将在每次间隔
经过时运行表达式
因此,在您的情况下,它的工作原理如下:
setInterval(function() {
//call $.ajax here
}, 5000); //5 seconds
至于Ajax,请参阅jQuery的。如果您运行一个interval,那么没有什么可以阻止您从代码中的其他地方调用相同的ajax()
如果您希望每隔30秒运行一次间隔,直到用户启动表单提交…然后在此之后创建一个新间隔,也可以:
setInterval()
返回一个整数,该整数是间隔的ID
var id = setInterval(function() {
//call $.ajax here
}, 30000); // 30 seconds
如果将该ID存储在变量中,则可以调用clearInterval(ID)
,这将停止进程
然后,您可以在完成ajax表单提交后重新启动setInterval()
调用。感谢您的回复!你是说如果我使用上面的代码每5秒刷新一次ajax调用,那么在同一页上,我有一张由人填写的表单,可以提交,添加完记录后,我可以调用上面相同的setInterval函数,它不会同时运行该函数的两个实例?因此,您希望每隔30秒运行一次interval,直到用户开始提交表单…然后再创建一个新的interval?这也是可能的setInterval()
返回一个整数,该整数是间隔的ID。如果将该ID存储在变量中,则可以调用clearInterval(ID)
,这将停止进程。然后,您可以在完成ajax表单提交后重新实例化setInterval()
调用。