18

Stack Overflow 如何在不重新加载页面的情况下显示答案添加/编辑的消息?

在此处输入图像描述

是的,我知道 Ajax 会发生这种情况。所以我在浏览器中打开了 Firebug 来检查它,看看是否有任何请求在特定的时间间隔内到来。但我没有看到 Firebug 中有任何请求。

我们可以在不显示在 Firebug 中的情况下执行请求吗?这背后是否还有其他想法,或者我的概念完全错误?

4

2 回答 2

12

它似乎正在使用 HTML 5 Web Sockets。它们基本上保持服务器和客户端之间的开放连接,除此之外,还允许客户端定义事件处理程序以在从服务器接收到新数据时对其进行处理。

在这里,您将找到一些有关 WebSockets 的基本示例和概念:WebSockets简介:将套接字引入网络

WebSocket 规范定义了一个在 Web 浏览器和服务器之间建立“套接字”连接的 API。简单来说:客户端和服务器之间存在持久连接,双方可以随时开始发送数据。

还有一个带有服务器和客户端源代码的现场演示

您可能还会发现以下问题很有用:实时更新如何工作?

于 2012-09-14T13:40:38.870 回答
3

添加到Xavi 的答案中,如果您想在不必了解所有内部结构的情况下开始使用 Web 套接字,您可以尝试Pusher,这是一个适用于多个平台(包括 PHP)的库,它使 Web 上的推送通知非常简单。

我不为 Pusher 工作;这只是我过去发现非常有用的产品。我一直将免费版本用于小型个人项目,但如果我曾经在更大的应用程序上使用它,我可能会付费。

于 2012-09-14T14:12:00.210 回答