2015-05-08 54 views
0

在網站上使用Ajax,我通過視圖更改了數據。我將這些數據發送到服務器,以便保存。我的步驟如下:我應該從服務器上取下還是隻更新視圖?

  1. 用戶更改視圖上的數據。
  2. Javascript觸發器。
  3. 之前ajax調用
  4. Ajax調用。服務器保存數據。
  5. Ajax調用後

我的問題是:是否有更好的,設計的角度來看,以更新步驟三視圖,然後更新數據,只是讓數據可能不同步,直到刷新或進行ajax調用,然後從服務器返回數據並使用步驟5中的更新視圖?

我目前已經實現了第一個選項,因爲它稍微簡單一點,對我來說更好,但第二個選項似乎更好,因爲用戶將始終從服務器獲取最新數據。

+1

取決於你正在做什麼樣的更改服務器端 –

回答

1

這是可用性 vs 一致性。這取決於你是否想要更加可用或一致。如果出現問題並且信息無法在服務器端進行更新,會發生什麼情況?您的用戶是否生氣?或者,如果用戶看不到內容的正確價值,您的用戶可能會生氣?你必須決定一個或另一個。這是關於這種情況的文章Consistency vs. availability: eventual consistency by Werner Vogels

+0

謝謝!我發現了一個更好的方式來顯示服務器正在更新給用戶。我想這是一個很普遍的問題,每個人最終都會問自己。 –

0

IMO更新步驟3中的數據,但顯示一些通知說「保存數據到服務器」或只是一個加載gif。然後進行ajax調用並使其返回操作狀態(如果數據保存正確,則返回OK,否則返回錯誤),讀取響應並隱藏保存數據div或在發生錯誤時從服務器提取數據。

這樣用戶不必等待ajax調用或刷新。它會流動得更好,您可以更有效地處理錯誤

相關問題