Ajax 如何在不刷新页面的情况下将新HTML数据从服务器推送到浏览器
我见过很多网站(比如facebook或stack overflow),它们会在生成新数据时更新某些功能(比如帖子上的新答案) 假设有一篇新文章被添加到博客中,此时有人正在博客中查看它,其想法是自动将新文章添加到博客中,而无需刷新或让用户执行任何操作 我曾想过每5秒左右执行一次AJAX调用,但这会向服务器发出太多请求,而且我看到我提到的网站(更新内容)不会发出任何新请求 我真的不知道如何做到这一点。这在PHP和AJAX中是可能的吗?我也听说过WebSocket。有什么想法吗?Ajax 如何在不刷新页面的情况下将新HTML数据从服务器推送到浏览器,ajax,html,asynchronous,websocket,Ajax,Html,Asynchronous,Websocket,我见过很多网站(比如facebook或stack overflow),它们会在生成新数据时更新某些功能(比如帖子上的新答案) 假设有一篇新文章被添加到博客中,此时有人正在博客中查看它,其想法是自动将新文章添加到博客中,而无需刷新或让用户执行任何操作 我曾想过每5秒左右执行一次AJAX调用,但这会向服务器发出太多请求,而且我看到我提到的网站(更新内容)不会发出任何新请求 我真的不知道如何做到这一点。这在PHP和AJAX中是可能的吗?我也听说过WebSocket。有什么想法吗? 谢谢好问题!有一些解
谢谢好问题!有一些解决方案 有一个相对较新的解决方案称为websockets。它在HTML5标准中,并且 在其他语言上也有很多用于它的库 其中之一是sockets.io(javascript)——它使您能够与服务器保持一致、低延迟的连接,以便在生成信息时接收信息。服务器端也有很多php、c和python插件 列举:LBWebSosits(C++)、pyWebSoCube(Python)和JETY(JavaScript) 对于php:
有关更多信息,请访问此链接:可以帮助您完成此操作的框架的一个示例是SignalR 这是特定于asp.net的,但您可以使用。但这不是一个很好的解决方案 您可以使用Comet服务器来帮助进行长时间AJAX轮询。看看这本书。它是Comet服务器和Javascript框架的组合,使AJAX-PUSH或实时流媒体成为可能 干杯!:) 嗯
如果您在PHP和开源世界中,可以考虑No.Js、SoCKET.IO或NowJs
我在ASP.Net wonderworld,我喜欢Signal。哇,有新的东西要看,你能给我更多的提示吗?这是我第一次听说它。谢谢,有PHP解决方案吗?ThanksI在我上面的回答中添加了一个php库的链接,为什么HTML5 SSE不是一个好主意?浏览器不支持吗?感谢可能的副本