PHPとjQueryで長いポーリング(thisのようなもの)に基づいてチャットをしています。一度ページ全体がブラウザにダウンロードされると、関数はバックエンドに長いポーリング要求をいくつかのタイムアウト制限で作成します。データはバックエンドから来て、それは再び長いポーリング要求を行い、エラーがあれば新しい長いポーリング要求。jquery php longポーリングリクエストの問題
問題:Firebugでトレースを分析すると、長いポーリング要求が3回または4回実行されていることがわかりましたが、そうしてはいけません。ページごとに1つの長いポーリング要求が実行されます。
しかし、コードは完全に機能します。長いポーリング要求の重複が問題です。
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
は、質問に含まれるコードを編集しました。 –