javascript - 动态墙更新: NodeJS

标签 javascript node.js dynamic

基本上,我创建了一个 NODEJS 应用程序,它使用 Jade 作为其模板引擎,以及 Express 和 MySQL 数据库。

我希望创建一个新页面,允许用户共享一部分文本,然后其下方名为“Wall”的 div 将根据新状态动态更新。

基本上,理想情况下它类似于 Facebook,输入内容、共享内容,然后页面动态更新。当用户 friend 分享新帖子时,我还希望更新墙页。用户共享的所有更新都将发送到数据库。

我进行了很多搜索,但似乎无法收集到正确的答案。 我已将其范围缩小到使用以下任意一种:JQuery、Ajax、PHP。

由于我正在构建的网站是用 JS 构建的 - 我最好的选择是什么?

我对这一切都很陌生,但我假设当用户单击共享时,它会调用一个 JS 文件,然后该文件将更新存储在数据库中。但是如何让我的“墙”刷新新内容呢?

非常感谢任何帮助。

最佳答案

您提出了一个概念性问题。因此,我将尽力解释一些概念选项,您可以选择进一步探索并自行研究如何在您的项目中最好地实现它。

这里有两条路可以走。 当 AJAX 成功写入数据库时​​,您可以进行自己的墙更新(在 UI 端进行刷新/重新渲染),这将是您在 AJAX 回调函数中实现的内容 - 基本上是在向数据库写入请求(提交新帖子)成功返回后执行的 JS 函数。

您可以探索的另一个选项分支是实现以下选项之一,以基本上“监听”服务器端的更改,并让重新渲染作为您使用的回调使用react:

  1. Polling - 基本上每隔 X 次发出一个请求 秒检查是否有更新或状态更改 服务器端。

  2. WebSockets - 结账 Socket.io 。通过这个,您可以将消息从服​​务器端“推送”到您的客户端。需要注意的是,并非所有浏览器都普遍支持 WebSocket,根据过去的经验,我发现 WebSocket 协议(protocol)甚至因浏览器版本而异。因此,如果您需要普遍支持,我会采用轮询方法。

祝您的项目顺利,希望这对您有所帮助!

关于javascript - 动态墙更新: NodeJS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15510261/

相关文章:

javascript - Svg : iframe can not delete ! 为什么?

docker - 如何将未知的环境变量列表传递给Dockerfile中的命令

javascript - Mapbox:它渲染最后一个点而不是所有点

javascript - jQuery 中触发复制事件?

node.js - 如何使用 pm2 观看和重新加载 ExpressJS 应用程序

node.js - Heroku 需要一个 server.js 文件。里面要放什么?

javascript - 使用 Javascript 中的用户输入动态更改表格单元格

c++ - 动态内存分配错误

javascript - 从客户端 javascript 连接到 SQL

python - 从一组相似图像中丢弃图像