我有一个 php 页面,可以从数据库中回显出行。我想每 30 秒通过 jquery/ajax 调用它。但我也希望能够随时调用页面,这样如果我通过表单添加记录,一旦表单提交,我希望页面通过调用 ajax 来立即更新结果。谁能指出我正确的方向或提供一些基本代码,以便我可以尝试解决这个问题?对 jquery/ajax 来说还是很新的。
带计时器的 Jquery/Ajax 调用
IT技术
javascript
jquery
ajax
timer
setinterval
2021-02-09 22:59:18
1个回答
如果你想在计时器上设置一些东西,你可以使用 JavaScript 的setTimeout
或setInterval
方法:
setTimeout ( expression, timeout );
setInterval ( expression, interval );
其中expression
是一个函数,timeout
和interval
是以毫秒为单位的整数。setTimeout
运行计时器一次并运行expression
一次,而 setInterval 将在expression
每次interval
通过时运行。
所以在你的情况下,它会像这样工作:
setInterval(function() {
//call $.ajax here
}, 5000); //5 seconds
就 Ajax 而言,请参阅 jQuery 的ajax()
方法。如果您运行一个时间间隔,则没有什么可以阻止您从ajax()
代码中的其他地方调用相同的内容。
如果您想要的是每隔 30 秒运行一次间隔,直到用户启动表单提交......然后在此之后创建一个新的间隔,这也是可能的:
setInterval()
返回一个整数,它是间隔的 ID。
var id = setInterval(function() {
//call $.ajax here
}, 30000); // 30 seconds
如果将该 ID 存储在变量中,则可以调用clearInterval(id)
它来停止进程。
然后,您可以setInterval()
在完成 ajax 表单提交后重新实例化调用。