页面加载后如何更新?

Posted

技术标签:

【中文标题】页面加载后如何更新?【英文标题】:How to update a page after it's loaded? 【发布时间】:2019-09-10 17:26:32 【问题描述】:

我有一个供筹款人使用的网页,我想实时更新筹集的金额。因此,如果用户正在查看筹集的总金额,而另一个用户在其他地方捐款,那么第一个用户会看到金额增加并更改为更新后的金额。

我有一个用于数据库的 CouchDB 和使用 Node.js 运行的 Lambda。我该如何设置?

【问题讨论】:

您可以通过从前端轮询服务器或使用 websockets 来实现它 【参考方案1】:

这是一种众所周知的软件开发模式。它通常通过使用“推”或“拉”的方式来实现。

在“拉取”方法中,客户端不断地从后端请求数据。在您的特定场景中,它可能是页面上的计时器,在指定的时间间隔轮询服务器以获取数据并在需要时更新页面。

在“推送”方法中,当客户端可用时,后端“推送”更改给客户端。 Web 套接字可以在您的特定情况下完成这项工作,但实现它比“拉”方法复杂得多。

【讨论】:

非常感谢。我想我正在寻找一种推送方法。 Web 套接字可能会起作用。让我了解一下 AWS 和 Lambda 上的 websockets。 是的,pull 看起来确实简单多了。如果我没记错的话,长轮询这叫什么? 长轮询是另一回事。我不确定你是否需要它。长轮询是一种“拉动”方法的黑客攻击,使其看起来像一种“推”方法。那时还没有技术方法可以以不同的方式实施“推送”方法。现在我们有了 websockets,“长轮询”已经过时了,恕我直言 那么这些天我们怎么做pull方法呢? 只是一个常规的 javascript 计时器更新页面,假设每分钟都可以完成这项工作。

以上是关于页面加载后如何更新?的主要内容,如果未能解决你的问题,请参考以下文章

jquery mobile listview使用ajax动态加载后,跳转到其他页面返回时数据没有保存如何解决?

在Angular Js中重新加载后,如何将复选框(选中或未选中)从javascript控制器更新到html页面?

即使在页面加载后,Salesforce 闪电自定义标签也不会更新

node.js + mysql + ejs 数据插入后无需重新加载页面即可更新屏幕信息

如何让页面加载完成后执行js

如何在页面加载完成后执行js脚本