使用JavaScript和jQuery的简单长轮询示例
我正在尝试创建一个实时网站分析仪表板,它使用jQuery / JavaScript异步创建与服务器的开放HTTP连接,以便在服务器发生时轮询服务器以获取数据更新。
显而易见的开始是使用XMLHttpRequest
对象或jQuery的$.ajax
方法向服务器发送GET
或POST
请求,异步请求一些数据。
但是,除了每隔30 seconds
使用setInterval
方法一次发送一个请求之外,我不确定如何连接到服务器持久性。 基本上,我只想发送一个http请求,并确保与服务器的连接保持打开状态以进行轮询!
我的setInterval
示例代码如下:
var analytics = document.getElementById('analytics'); setInterval(function(){ $.ajax({ url: "http://server.com/", success: function(data){ analytics.innerHTML = data; }, dataType: "json"}); }, 30000);
在线搜索之后,这就是我正在寻找的答案,它不使用 sockets.io
和WebSockets
但通过利用其complete
方法创建一个人工循环来使用 jQuery
:
来自Technoctave的Tian Davis: http ://techoctave.com/c7/posts/60-simple-long-polling-example-with-javascript-and-jquery