我有一个php页面,可回显数据库中的行。我想每30秒通过jquery / ajax调用一次。但是我还希望能够随时调用该页面,以便如果我通过表单添加记录,则在表单提交后,我希望通过调用页面来ajax立即更新结果。谁能指出我正确的方向或提供一些基本代码,以便我设法找出答案?对于jquery / ajax还是很新的。
如果要在计时器上进行设置,则可以使用JavaScript setTimeout或setInterval方法:
setTimeout
setInterval
setTimeout ( expression, timeout ); setInterval ( expression, interval );
where expression是一个函数,timeoutandinterval是整数(以毫秒为单位)。setTimeout运行一次计时器,然后运行expression一次,而setInterval将在expression每次interval通过时运行。
expression
timeout
interval
因此,在您的情况下,它将像这样工作:
setInterval(function() { //call $.ajax here }, 5000); //5 seconds
至于Ajax,请参阅jQuery的ajax()method。如果运行一个间隔,没有什么可以阻止您从ajax()代码中的其他位置调用该间隔。
ajax()
如果您希望每30秒运行一次间隔,直到用户启动表单提交…然后在此之后创建一个新间隔,则也可以:
setInterval() 返回一个整数,该整数是时间间隔的ID。
setInterval()
var id = setInterval(function() { //call $.ajax here }, 30000); // 30 seconds
如果您将该ID存储在变量中,则可以调用clearInterval(id)来停止进度。
clearInterval(id)
然后,您可以setInterval()在完成ajax表单提交后重新初始化呼叫。