gpt4 book ai didi

php - JavaScript 检查新内容,例如通知

转载 作者:行者123 更新时间:2023-12-01 04:20:18 24 4
gpt4 key购买 nike

我会尽力解释这一点。但基本上在网站上,当您有一些动态内容(例如消息、通知等)时...您会希望在消息到达后立即将这些信息呈现给用户。例如,向用户发送一条新消息,并在您网站的标题中显示带有计数的气泡。

如今,您几乎在每个网站上都能看到这些内容,但我不确定实现此类功能的最佳方法。

我最初的想法是编写一些 ajax 调用,然后将其包装在 setInterval 调用中,以便每 30 秒左右请求一次。这里明显的问题是 a) 您必须等待 30 秒才能收到请求,b) 您可能一天内向服务器请求数百次,但没有实际的新内容可以显示。

我的第二个想法是使用 EventListeners,因为它们似乎更理想,因为据我了解,它们仅在服务器告诉它某些内容时才执行请求。但我并不是 100% 确定如何构建这样的东西。任何人都可以举一个简单的例子或指出一些可以作为此类事情基础的东西吗?

所以为了澄清我想要做什么:

当发生新的事情(例如发送消息或创建通知)时,这将发送一个事件,事件监听器会拾取并更新页面上的某些内容,要么显示带有信息的小弹出窗口,要么更新气泡,例如消息 (2)

我将使用 CakePHP 和 jQuery 来实现这一点。所以任何具体的东西都会很棒...希望有人能帮助我。

本质上我是在问 EventListener 与 setInterval 以及它如何与 ajax 调用一起工作......

最佳答案

正如 Alex Ball 所建议的,您应该研究 COMET 编程技术,并查看此问题的答案 Simple comet example using php and jquery 。确实没有一个“简单”的答案来实现您所要求的有效技术,但最有效的方法是使用 iframe。使用 iframe 将允许您与服务器(PHP 端)建立持久连接。在这里您将能够检查新消息(查询新消息),如果有,则返回您的数据。您的 ajax 调用(成功函数)将处理此数据,然后再发送回服务器。如果没有,那么您将不得不循环。同样,有效的 COMET 编程技术实现起来并不简单。这里有一些有用的例子: http://www.webreference.com/programming/javascript/rg30/index.html , http://www.zeitoun.net/articles/comet_and_php/start , setInerval 对聊天无效,也许对通知无效。

COMET 技术并非特定于 CakePHP。

关于php - JavaScript 检查新内容,例如通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11274588/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com