我正在嘗試創建一個實時網站分析儀表板,它使用jQuery/JavaScript異步創建一個到服務器的開放HTTP連接,以輪詢服務器以更新數據它們發生。使用JavaScript和jQuery進行簡單的長查詢
其明顯的啓動將使用XMLHttpRequest
對象或jQuery的$.ajax
方法來發送一個GET
或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>
是否有任何理由需要發送一個http請求?如果你想要一個持久連接,你可能想查看websockets。 – kennypu
http不能這樣工作 – charlietfl
我想我需要持久性的兩個原因:(1)它可以確保我的更新更實時;(2)我認爲它有更好的性能,即減少多個請求對服務器的衝擊。作爲charlietfl說@ – technojas