2014-04-04 85 views
-1

我想有使用MySQL數據庫以其信息的頁面命令,讓我們只說了一個0或1刷新DIV從服務器

我希望頁面自動刷新的div值爲0或1以特定間隔從數據庫中刪除。

但是我希望任何正在瀏覽頁面的人都能同時獲得相同的信息。所以我希望服務器負責間隔。

我該怎麼做?

+2

的WebSockets或setInterval的(遞歸的setTimeout)與阿賈克斯.. –

+0

抽象地思考,我有一個查詢時調用數據庫中的單頁,並從數據庫返回的0/1,並有可能定義一個「給我打電話在X秒的價值。然後,當主網頁加載時,對該頁面發出'GET'請求,使用0/1值刷新div,並根據'call me in X seconds'值設置一個javascript間隔,或者只需要它每隔幾秒鐘運行一次,以較有利的爲準。 – beercodebeer

+1

發送GET到服務器。服務器發送一個響應,其中包含客戶端應該發出下一個請求的時間戳。不要忘記考慮延遲偏移和客戶端時間/服務器時間的差異。您可以通過將客戶端時間發送到服務器來完成此操作,以便將其應用爲偏移量。或者,您可以使用諸如socket.io/WebSockets的設置來設置發佈/訂閱系統。 – crush

回答

2

有幾種可能性:

1)Websockets是最新的技術。如果你真的想近實時頁面更新,並有一個基礎設施提供的可能性,那就是去

2)Cometlong polling將是第二備選

3)最原始的方式 - 但工作起點將是不斷調查您的服務器。 Stackoverflow Article

-2

您可以使用JavaScript計時器來檢查服務器是否有更新,並使用Ajax將更新後的值返回給客戶端。您可以使用setTimeout()功能這裏給出:Jquery/Ajax call with timer

樣品,你可以嘗試 (function worker() { $.get('ajax/test.html', function(data) { // Now that we've completed the request schedule the next one. $('.result').html(data); setTimeout(worker, 5000); }); })();