簡體   English   中英

異步客戶端 javascript 進程與服務器對話

[英]Asynchronous client javascript process to talk to server

我正在考慮開發具有離線功能的 web 應用程序。 我正在考慮將所有客戶端表單回發格式化為 JSON 對象,並將這些直接寫入表單回發上的 HTML5 LocalStorage。 然后,我將有一個單獨的進程異步輪詢 LocalStorage 中的 JSON 條目並將它們提交給服務器。 此服務器同步過程將沒有任何 UI 上下文。 然后,實際的用戶 UI 可以非常響應。 (我將使用緩存清單文件來處理其他離線問題)。

這是一個合理的計划嗎?異步 JSON 后期處理的最佳技術實現是什么? (也許是一個計時器,每秒輪詢 LocalStorage 並檢查服務器連接?)是否有更好的方法來實現服務器同步(如果我在服務器上實現它,我會編寫一個服務 - 是否有等效的 javascript 機制? )

謝謝。

去年我做了一些測試來離線運行我們的應用程序,僅適用於 HTML5 瀏覽器。

該應用程序基於 JSON 服務,並使用我們的 lib: pure.js呈現客戶端。 即使沒有離線訪問,您也可以使用類似的架構獲得一個響應速度非常快的應用程序。

如果 JSON 服務調用失敗,則假定我們處於離線狀態,並改為使用本地存儲。
當在線完成呼叫時,它會檢查離線隊列的狀態並在需要時進行同步。

但后來我開始在客戶端復制一些服務器驗證邏輯。 並發現存儲的數據沒有加密。 即使使用javascrypt之類的東西,您也需要某處的密鑰或設置密碼密鑰等...
那你對客戶有什么保留? 一切? 最后查看的項目? 如何處理數據更改沖突?

我敢打賭,今天的移動網絡通常是在線的,讓應用程序在移動設備上運行良好而不是試圖讓它離線更容易。
我們暫時放棄了線下工作。

最后我只是用了一個簡單的setInterval,如下:

setInterval("SyncLocalStorageToServer()", 4000); // Loop at 4 second intervals

然后調用 function 循環 localStorage 條目,依次將每個條目發送到服務器。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM