1

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

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

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

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

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

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

非常感谢任何帮助。

4

2 回答 2

0

采用...

setTimeout(function(){
  /* update wall here */
}, 1000)

轮询您的“墙”后端并更新内容。

于 2013-03-19T21:53:03.490 回答
0

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

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

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

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

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

祝你的项目好运,希望这会有所帮助!

于 2013-03-20T03:05:24.057 回答