我最近问了一个StackOverflow关于我的功能的问题,人们建议我使用Ajax长轮询。过去几天我花了很多时间研究这个主题,并试图编写基本的长轮询代码,但没有一个能够工作,而且我根本无法获得任何工作。阿贾克斯长轮询
这里是我的基本功能:
<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>
会有人能告诉我如何把它变成一个基本的长轮询功能,甚至只是直接说我需要到那里的道路上。很感谢任何形式的帮助。谢谢!
因此,我将不得不编写一个调用chekfornewmessages.php的不同函数。然后,就像我上面的函数一样,我可以将任何新的更改加载到div中。 – Eggo 2012-02-01 21:31:03
@Eggo基本上,您对'load'的调用会联系'checkfornewmessages.php',然后停止并等待'checkfornewmessages.php'返回一个新消息。 “checkfornewmessages.php”不会返回,直到有人说了些什么。这可能需要很长时间,因此术语* long * polling。当有人说出一些话时,服务器立即返回。 – 2012-02-01 21:33:07
这很有道理。 – Eggo 2012-02-01 21:34:26