我正在寻找对网站上的“通知”系统进行长时间轮询。我以前从未这样做过,因此我正在网上寻找有关它的信息。我在这里看:http: //techoctave.com/c7/posts/60-simple-long-polling-example-with-javascript-and-jquery
在关于长轮询的部分中,它说:“超时:为请求设置超时(以毫秒为单位)。超时时间从 $.ajax 调用开始。在这里,我们将超时设置为 30 秒。这意味着在 ajax 调用完成并且(至少)三十 (30) 秒过去之前,我们的 poll 函数不会被再次调用。”
在 ajax 调用完成并且至少 30 秒过去之前,不会调用 poll。
但是,当我将其添加到 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);
})();