【问题标题】:How to do live updates on page如何在页面上进行实时更新
【发布时间】:2012-08-04 20:05:37
【问题描述】:

我有一个页面,用户可以在其中注册参加比赛。用户只需使用用户名填写文本字段并单击提交按钮。

现在,我可以将他们的用户名添加到一个表格中,当他们单击提交时,通过 ajax 显示所有注册用户。但是,我希望每次添加新用户时无需刷新页面即可更新该表格。

是通过设置某种更新该表的间隔来做到这一点的唯一方法吗?似乎它会进行很多不需要的数据库调用。使用什么间隔比较好?

我是否应该将表格存储在视图中并使用 .load 每隔 10 秒将其插入页面上的 div 中?

【问题讨论】:

  • 试一试,看看效果如何。
  • 我认为您想要类似long polling 的东西,它或多或少类似于浏览器中的推送通知。
  • 什么是使用的好间隔?那取决于你。当有人注册时,您需要多快才能找到更新。
  • 啊,长轮询似乎是个好主意。正是为什么我问这个问题而不是只做我想到的简单间隔。仅仅因为我在寻找不同的解决方案,我就被 SomeKittens 这样的人否决了,这让我非常沮丧。
  • 你不知道谁对你投了反对票。我没有,@SomeKittens 可能有也可能没有,有时“搭便车者”看到了机会。但不要对自己的指责过于自信。

标签: javascript jquery


【解决方案1】:

您必须定期重新检查是否有任何更改:

setInterval(function() {
    $.ajax({
        url: "your/url",
        type: "GET",
        success: function(result) {
            // Update table
        }
    });
}, 10000); // Number of milliseconds to recheck

【讨论】:

  • 不是necessarily,尽管这是一个(可能没有吸引力的)选项。我建议setTimeout() 加上长轮询。
猜你喜欢
  • 2011-02-17
  • 2021-11-03
  • 1970-01-01
  • 2011-07-15
  • 1970-01-01
  • 2013-06-01
  • 1970-01-01
  • 2015-03-25
相关资源
最近更新 更多