2011-11-30 37 views
0

我目前有一個PrimeFaces <p:poll> ajax輪詢功能,每90秒執行一次刷新一些數據。我被要求做出這種視覺效果,我只是想知道這樣做的最快/最輕的方式?連接到ajax的倒計時功能

我想到的方法是,我有兩個選擇:

  1. 創建PrimeFaces <p:poll>執行每秒,減少全局JavaScript Number變量,當它到達其0,則執行AJAX刷新數據,雖然這可能會對處理滯後產生影響?

  2. 查找/構建某種jQuery中/ JS倒計時器和類似上面的時候,它的完成倒計時執行。

希望有人有一個更清潔/更好的方法。

+0

''我被要求做這個視覺'' - 你是什麼意思? –

+0

輪詢功能的可視化表示。即倒數計時器,它在達到0時執行一個ajax函數並用新檢索的數據更新網頁。然後重置倒數計時器,過程重新開始。 – Ally

+0

關於JavaScript的倒計時定時器,有[以前的許多問題](http://stackoverflow.com/search?tab=relevance&q=javascript%20countdown%20timer)。有沒有任何理由沒有回答你的問題? –

回答

0

我認爲這種情況下,最好用<p:remoteCommand代替<p:poll

這樣,你可以使用jQuery代碼倒計時/顯示並調用遠程命令和計數復位到90當計數達到0

<p:remoteCommand name="fetchData" action="#{...}" update="..."/> 
<!-- fetchData here will be a global javascript function. --> 

RemoteCommand showcase

的問題使用<p:poll是輪詢的計時器和顯示計時器不會同步。

+0

忘記了遠程命令的功能:)謝謝!! – Ally

+0

@Ally:不客氣。 –