我正在基于长时间轮询(类似于this)与PHP和jQuery进行聊天。一旦整个页面被下载到浏览器中,一个函数会对后端发出长时间轮询请求,并有一些超时限制,当数据来自后端时,它会再次发出长轮询请求,如果有任何错误,它将再次创建新的长轮询请求。jquery php长轮询请求问题
问题:通过萤火虫分析跟踪,我注意到有些时候长轮询请求运行了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;
}
请你可以发布你的代码,启动长轮询? – jabclab 2012-01-13 10:50:33
编辑了包含在其中的代码。 – 2012-01-13 10:59:06