我正在基於長時間輪詢(類似於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