为了账号安全,请及时绑定邮箱和手机立即绑定

Jquery / Ajax调用计时器

Jquery / Ajax调用计时器

呼唤远方 2019-09-02 08:59:07
我有一个php页面,它回显了数据库中的行。我想每隔30秒通过jquery / ajax调用它。但我也希望能够随时调用页面,这样如果我通过表单添加记录,一旦表单提交,我希望页面通过调用ajax立即更新结果。有人能指出我正确的方向或提供一些基本代码,所以我可以尝试解决这个问题吗?jquery / ajax仍然很新。
查看完整描述

2 回答

?
holdtom

TA贡献1805条经验 获得超10个赞

如果要在计时器上设置某些内容,可以使用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表单提交后重新验证呼叫。


查看完整回答
反对 回复 2019-09-02
?
天涯尽头无女友

TA贡献1831条经验 获得超9个赞

所以你想要的是一个间隔每30秒运行一次,直到用户启动一个表单提交...然后在那之后创建一个新的间隔?这也是可能的。setInterval()返回一个整数,它是间隔的ID。如果您将该ID存储在变量中,则可以调用clearInterval(id)哪个将停止进度。然后,您可以setInterval()在完成ajax表单提交后重新验证呼叫。

查看完整回答
反对 回复 2019-09-02
  • 2 回答
  • 0 关注
  • 769 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信