0

我想在单击按钮时更改 div 的内容。我可以用 jquery 轻松做到这一点,但它只在我身边。如果他们连接到页面或刷新页面,我希望为所有用户更改它。我怎样才能做到这一点?我知道它必须与 php (服务器端脚本)一起使用。有任何想法吗?为了简单起见->单击按钮->为该页面的所有访问者更改div(当然在他们刷新页面之后)。

4

4 回答 4

2

这里的一个问题是如何进行会话间通信。除了细节之外,有两种方法可以做到这一点:(1)通过客户端轮询,或(2)通过服务器端广播。

轮询很容易,但并不理想。客户端(javascript-ajax)持续检查服务器(每隔一秒或几秒)是否有更新,当有更新时,它们会应用任何更新/消息。问题是,如果这很关键,客户端将不同步。有时,它们可能会彼此远离,而服务器不会知道。

在服务器端选项方面,您可以使用cometd ( http://cometd.org/ )。它基本上使您能够同步 Web 浏览器操作和消息单个会话。在其他 SO 问题中提到的本教程将让您快速入门 PHP-cometd 和 ajax:http ://www.zeitoun.net/articles/comet_and_php/start

编辑:正在检查此协议的使用情况,显然 gmail 和 facebook 都使用它或它的次要变体。请参阅facebook、gmail 如何发送实时通知?以及GMail是如何实现Comet的?一些有趣的读物。

于 2012-09-19T21:58:18.427 回答
1

使用 ajax 发布到一个 php 页面,该页面更新一个数据库,这是内容的来源......

于 2012-09-19T21:34:05.680 回答
1

您必须执行一个 ajax 函数,该函数返回页面的更改内容,然后重新加载页面。

于 2012-09-19T21:38:25.020 回答
1

我要做的是:

  1. 当按钮单击时:将新值存储到数据库中。
  2. 使用 AJAX (javascript) 设置超时以每 X 秒刷新一次 div。
于 2012-09-19T21:45:24.580 回答