2013-01-14 25 views
0

作爲一個非webdev,我真的很喜歡,如果你能指出我以「正確」的方式來做到這一點。更新基於sql數據庫的網頁

我構建了一個應用程序,定期填充和更新數據庫(sqlite是精確的)。我將排行榜存儲在我的數據庫中,並希望將它們顯示在網頁中。

由於我的排行榜可以隨時更改,所以我需要網頁是動態的,無論是基於時間的觸發還是數據庫更改。

我正要爲此使用javascript,因爲我意識到我的數據庫託管在我的服務器上,所以客戶端js可能無法正常工作。

有關於此的任何想法?

由於我的應用程序是內置在Python,我寧願避免使用PHP解決方案,但使用起來更加 '時髦' 的技術(JS,紅寶石,蟒蛇,???等等)

謝謝!

好吧,給我搞到現在這裏的關鍵詞是一個幾乎完全複製: Notify user on database change? JavaScript/AJAX

回答

2

這就是Ajax是。您在使用Ajax調用服務器端代碼返回數據庫內容的前端編寫Javascript,然後在收到響應時更新HTML。

+0

argh,我的應用程序和我的用戶之間的又一層:s。你會直接使用AJAX,還是通過框架或其他東西? – jlengrand

+0

如果你對它完全陌生,最好使用jQuery這樣的東西來處理一些複雜問題。 –

1

您需要在客戶端使用JavaScript而不是在服務器上。你的javascript代碼會進行異步調用(使用ajax)來檢查數據庫是否發生了變化並相應地更新網站。

0

您可以使用javascript定期輪詢服務器端。或者你可以使用javascript來創建一個websocket連接(可能使用像SockJS或SocketIO這樣的庫),當它發生變化時,它實際上可以將數據推送到客戶端。我在服務器端使用Tornado的websocket支持進行了許多項目。

+0

不好意思,爲每個用戶創建一個WebSocket使用比讓客戶端輪詢更多的資源。這兩種方法有什麼優點和缺點? –

+0

更多資源,它使服務器上的套接字保持打開狀態。 – aychedee