2015-09-17 16 views
-2

是否可以觸發從後端到特定URL的刷新?觸發從我的Web服務器加載的站點的刷新

場景: Web服務器

後端處理顯示頁面的內容。

只顯示在屏幕上且沒有用戶交互的頁面。

默認內容在給定間隔後加載ajax。

現在我搜索一個解決方案來觸發客戶端從後端刷新頁面以立即顯示新內容。

有沒有辦法做到這一點與symfony2?

+0

請參閱WebSockets:https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API或觸發從AJAX刷新。 –

+0

對不起,這個不好的標題。是的websockets是正確的方法。謝謝您的回答。 – NMonst4

回答

1

您必須使用WebSockets這樣做(socket.io,或ratchetautobahn等)。你可以找到許多束實現該功能,例如:

https://github.com/GeniusesOfSymfony/WebSocketBundle

https://github.com/phillies2k/ratchet-bundle

+0

嗨,謝謝你的回答。是的,我也想過,但這是對我的這個小功能的應用程序的一個巨大的重構。但是,這是正確的做法。 – NMonst4

+0

*您必須使用websocket來做到這一點*不嚴格的,也可以使用AJAX。 –

+0

@ A.L - 你能解釋一下如何即時用ajax顯示新內容嗎? – malcolm

1

嗨據我所知,有幾種可能性,你可以嘗試。

  1. Ajax調用(比如5秒的時間間隔)
  2. Meta標記

PHP或服務器端語言需要約新數據客戶端指示。所以,除非瀏覽器向服務器發送請求,否則它將保持空閒狀態。

+0

嗨thx的答案。我做了一個Ajax調用來在一段時間內加載我的內容,但問題是如何在這個時間間隔外觸發頁面/內容重新加載:/? – NMonst4

0

您可以定期調用您的ajax函數來更新內容。

setInterval(function(){ 
         ajaxCall(); 
         },10000) 

這將刷新內容每隔10秒

+0

我更新了像這樣的內容,但問題是如何從此間隔進行刷新,例如手動觸發:/? – NMonst4

0

您可以存儲時間戳在瀏覽器中,當客戶端請求數據A.

則U可能會出現另一個時間戳上的API顯示你上次添加內容的時間B.

在每個時間間隔中,您可以決定是否B> A,然後刷新內容序列。 通過這種方式您的間隔請求數據大小將減少。

但最好的解決辦法是總是websockets。

+0

是的,我同意websockets是最好的解決方案。 – NMonst4

相關問題