我目前正在與AJAX搞混。現在,我創建了一個Markdown預覽器,用於更新textarea的更新。 (我想你知道這是從某個地方...... ;-))。現在如何在來自其他客戶端的事件時更新異步頁面?
,我想弄清楚,如何在事件從另一個客戶端發射更新頁面。所以說一個異步留言板。用戶寫東西,事件被調用,帖子被寫入。
但在其他客戶的頁面,新的職位是當然的尚未公佈,直到他們重新加載,並從數據庫中獲取帖子的更新列表。
現在,你怎麼能得到這個異步工作?那麼當客戶做某事的時候,其他客戶都會知道他做了什麼?
我不認爲這可以完全在AJAX中完成,但我也不知道如何在服務器端實現這一點,因爲它需要一個頁面重新加載通知其他客戶端的事件。
我正在考慮創建散列當前數據狀態的文件或數據庫條目。每當客戶端加載頁面時,他都會保存這個散列。然後,一個計時器(它存在於JavaScript中嗎?)每隔幾秒檢查一次哈希。
只要有人改變了數據庫,哈希值就會重新計算。如果腳本發現哈希已更改並與保存的哈希不同,則會從數據庫重新加載內容並保存新哈希。
這是即使工作?
第一種方法幾乎是我想到的,如果我理解正確的話?但是,這將每隔30秒查詢一次 - 如果沒有人發帖子,比如說10分鐘,我會做20個不必要的查詢... – 2010-09-17 12:05:10
分鐘查詢。我認爲你不必擔心太多沒有價值的查詢。除非你每秒運行數千次查詢,否則你的服務器應該很容易處理它(取決於當然的服務器) – Alex 2010-09-17 13:07:09
'如果沒有人發了一個帖子,比如10分鐘,我會做20個不必要的查詢 - 是的,這是正確的。 – 2010-09-17 13:34:59