gpt4 book ai didi

jquery - Ajax 长轮询

转载 作者:行者123 更新时间:2023-12-01 00:58:02 27 4
gpt4 key购买 nike

我最近在 StackOverflow 上问了一个关于我的函数的问题,人们建议我使用 Ajax Long Polling。在过去的几天里,我一直在研究这个主题,并尝试编写基本的长轮询代码,但它们都不起作用,而且我所做的任何事情都不起作用。

这是我的基本功能:

    <script language='javascript' type='text/javascript'>
var interval=self.setInterval("checkformessages()",4000)
function checkformessages() {
$('#incomingmessages<?php echo $otherchatuser ?>').load('checkfornewmessages.php?username=<?php echo $username; ?>&otherchatuser=<?php echo $otherchatuser; ?>');
}
</script>

是否有人能够告诉我如何将其变成基本的长轮询功能,或者甚至直接沿着我需要到达那里的路径。很感谢任何形式的帮助。谢谢!

最佳答案

通常(即不使用长轮询时),您的 JavaScript 代码将向您的服务器发出请求,并且您的服务器将立即返回信息。然而,您的服务器可能并不总是有重要的事情要立即说。在您的示例(似乎是聊天)中,当您向 checkfornewmessages.php 发出请求时,与您聊天的人可能没有说什么。因此,当你的 JavaScript 客户端询问服务器说了些什么时,服务器除了“什么也没说”之外,实际上没有什么可响应的。

通过长轮询,而不是让 checkfornewmessages.php 立即返回“什么也没说”,您只需在有消息之前就不会从 checkfornewmessages.php 返回重要的是要带回来。

换句话说,为了使长轮询正常工作,有趣的事情可能是在服务器端完成的,可能在您的 checkfornewmessages.php 页面中。除了联系 checkfornewmessages.php 并等待其响应之外,您的 JavaScript 代码无需执行任何操作。

关于jquery - Ajax 长轮询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9103490/

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