【发布时间】:2012-01-13 10:49:02
【问题描述】:
我正在使用 PHP 和 jQuery 进行基于长轮询(类似于 this )的聊天。一旦在浏览器中下载了整个页面,一个函数会向后端发出一个带有超时限制的长轮询请求,当数据来自后端时,它会再次发出长轮询请求,如果有任何错误,它将再次发出新的长轮询请求。
问题:通过 firebug 分析跟踪,我注意到有时长轮询请求运行 3 或 4 次,但它不应该。每页应该只运行一个长轮询请求。
但是代码运行良好。但长轮询请求重复是问题所在。
function listen_for_message(){
// this functions is makes the long-polling request
$.ajax({
url: "listen.php",
timeout:5000,
success: function(data) {
$('#display').html(data);
listen_for_message();
}
error: function() {
setTimeOut("listen_for_message()",2000); // if error then call the function after 2 sec
}
});
return;
}
【问题讨论】:
-
请您发布启动长轮询的代码吗?
-
编辑了问题,代码包含在其中。
标签: php ajax jquery long-polling