如何在ajax中制作彗星长轮询

时间:2016-08-20 12:05:44

标签: jquery ajax

下面是我在间隔期间向服务器发出的ajax请求。我想知道如果服务器没有返回任何数据,我怎么能保持请求打开。

    (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); 
       }

0 个答案:

没有答案