Jquery 如何在ajax中进行comet长轮询
下面是我每隔一段时间向服务器发出的ajax请求。我想知道在服务器没有返回数据的情况下,如何保持请求打开Jquery 如何在ajax中进行comet长轮询,jquery,ajax,Jquery,Ajax,下面是我每隔一段时间向服务器发出的ajax请求。我想知道在服务器没有返回数据的情况下,如何保持请求打开 (function newMessage(){ jQuery.ajax({ method: "POST", url:"/index.php", "data": data, error: function() { reject('error');
(function newMessage(){
jQuery.ajax({
method: "POST",
url:"/index.php",
"data": data,
error: function() {
reject('error');
},
success: function(result) {
console.log(result);
}
});
setTimeout(function(){
newMessage();
}, 3000);
})()
在服务器端,我使用usleep,而服务器不返回任何数据,希望这个对服务器的请求保持打开状态。但它仍然会发出其他请求,使每个请求保持打开状态
//request to server
$results = $model->getNewMessages($id, $userId, $lastupdate);
$counter = sizeof($results);
while($counter == 0){
usleep(10000);
}