2013-07-10 33 views
0

使用jQuery 1.9.1 &在頁面上運行的時間間隔爲每隔幾秒鐘檢查一次SQL表以檢查新數據。該頁面本身將一直處於(虛擬)狀態。使用基於表值的jQuery重新加載頁面

有一張桌子可以開始&結束時間。這些字段位於SQL 2012數據庫中,定義爲TIME字段,時間格式爲24小時制。結束時間看起來如何的一個例子是:15:59:59.999,23:59:59.99907:59:59.999。開始時間分別是08:00:00.00016:00:00.00000:00:00.000

我想刷新頁面(強制頁面重新加載自己)有時那些結束時間。還不確定事後多久,但假設3分鐘。還有可能會出現彈出頁面,需要關閉並在主頁面刷新/重新加載時重新打開。另外,即使頁面應該啓動,我也不能認爲它是在開始時打開的。

作爲頁面加載的一部分,我會重新查詢表&獲取新的結束時間。另外,如果頁面被關閉並重新打開,那麼這也將重新查詢並獲得新的結束時間。

使用setIntervalsetTimeout來做到這一點會更好嗎?如果是這樣,怎麼辦?

+0

'setInterval'將使它每隔X秒運行一次,而'setTimeout'使它在X時間過去後運行一次。如果整個頁面正在重新加載(包括重新加載腳本)'setTimeout'可能會更好。 –

回答

1

既然你只是想刷新頁面,我相信你會想使用setTimeout。 setInterval每隔[interval]秒執行一次表達式,setTimeout在給定的時間量之後執行一次。我相信完成你想要做的最好的方法是在後端加入時間計算。也就是說,在您的PHP(或您使用的任何服務器端語言)中獲取當前時間,計算出當前時間與「結束時間」之間的時間(然後添加3分鐘),然後將該變量傳遞給您setTimeout函數。您可以在頁面加載時執行此操作,也可以在頁面加載後立即進行ajax調用,如果您不介意ajax會花費幾秒鐘的時間。這樣,每次加載頁面時都會更新當前時間,直到「結束時間」。