我正在尝试创建一个实时网站分析仪表板,该仪表板使用 jQuery/JavaScript 异步创建到服务器的开放 HTTP 连接,以便在数据发生更新时轮询服务器。
显而易见的开始是使用XMLHttpRequest
对象或 jQuery 的$.ajax
方法发送GET
or POST
向服务器异步请求一些数据。
然而,除了使用一次发送一个请求之外setInterval
方法每个30 seconds
我不确定如何使与服务器的连接持久。基本上,我只想发送一个http请求并确保与服务器的连接保持打开状态以进行轮询!
我的示例代码与setInterval
如下:
<div id="analytics"></div>
<script>
var analytics = document.getElementById('analytics');
setInterval(function(){
$.ajax({ url: "http://server.com/", success: function(data){
analytics.innerHTML = data;
}, dataType: "json"});
}, 30000);
</script>
在网上搜索后,这就是我正在寻找的答案不使用 sockets.io
nor WebSockets
but does use jQuery
通过利用其complete
创建人工循环的方法:
<div id="analytics"></div>
<script>
var analytics = document.getElementById('analytics');
(function poll(){
$.ajax({ url: "server", success: function(data){
analytics.innerHTML = data;
}, dataType: "json", complete: poll, timeout: 30000 });
})();
</script>
资料来源:Technoctave 的 Tian Davis:http://techoctave.com/c7/posts/60-simple-long-polling-example-with-javascript-and-jquery
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)