ウェブサイトの「通知」システムのロングポーリングを検討しています。これまで行ったことがないので、オンラインで情報を探しています。私はここを見ています: http://techoctave.com/c7/posts/60-simple-long-polling-example-with-javascript-and-jquery
ロングポーリングに関するセクションでは、次のように述べています。このポーリング関数は、ajax 呼び出しが完了して (少なくとも) 30 秒が経過するまで、再度呼び出されることはありません。」
ポーリングは、ajax 呼び出しが完了し、少なくとも 30 秒が経過するまで呼び出されません。
ただし、これを Javascript に追加すると、ajax 呼び出しが完了するまでの間に poll が何度も呼び出されます。30秒も待ちません。
(function poll() {
$.ajax({ url: "/myapp/messages/messages/checkMessages", success:
function(data){alert("YO");}, complete: poll, timeout: 30000 });
})();
私は何か間違ったことをしていますか、それともポーリングが機能するはずの時間ですか?
また、これは効率的ですか?これはサイトのトラフィックに合わせて拡張できますか?
助けてくれてありがとう!
(function poll(){
setTimeout(function(){
$.ajax({ url: "/myapp/messages/messages/checkMessages", success: function(data){
console.log("Polling!");
}, complete: poll, timeout: 30000});
}, 30000);
})();