与服务器对话的异步客户端javascript进程

与服务器对话的异步客户端javascript进程,javascript,html,synchronization,offline,offline-browsing,Javascript,Html,Synchronization,Offline,Offline Browsing,我正在考虑开发一个具有离线功能的web应用程序。我正在考虑将所有客户端表单回发格式化为JSON对象,并将它们直接写入表单回发上的HTML5 LocalStorage。然后,我将有一个单独的进程,异步轮询LocalStorage中的JSON条目,并将这些条目提交给服务器。此服务器同步进程将不具有任何UI上下文。然后,实际的用户界面可以非常响应。(我将使用缓存清单文件来处理其他脱机问题) 这是一个合理的计划吗?异步JSON后处理的最佳技术实现是什么?(可能是一个计时器,每秒轮询本地存储并检查服务器连

我正在考虑开发一个具有离线功能的web应用程序。我正在考虑将所有客户端表单回发格式化为JSON对象,并将它们直接写入表单回发上的HTML5 LocalStorage。然后,我将有一个单独的进程,异步轮询LocalStorage中的JSON条目,并将这些条目提交给服务器。此服务器同步进程将不具有任何UI上下文。然后,实际的用户界面可以非常响应。(我将使用缓存清单文件来处理其他脱机问题)

这是一个合理的计划吗?异步JSON后处理的最佳技术实现是什么?(可能是一个计时器,每秒轮询本地存储并检查服务器连接?)有没有更好的方法来实现服务器同步(如果我在服务器上实现这一点,我会编写一个服务-是否有等效的javascript机制?)


谢谢。

我去年做了一些测试,以离线运行我们的应用程序,仅适用于HTML5浏览器

该应用程序基于JSON服务,并使用我们的库呈现客户端:。您只需使用类似的体系结构,即使没有离线访问,也能获得响应速度非常快的应用程序

如果JSON服务调用失败,它会假定我们处于脱机状态,并使用本地存储。
当调用联机完成时,它会检查脱机队列的状态,并在需要时进行同步

但随后我开始在客户机上复制一些服务器验证逻辑。并发现存储的数据未加密。即使您需要某个地方的密钥或设置密码密钥等…
那你对客户有什么要求?每件事上次查看的项目?如何处理数据更改冲突


我敢打赌,今天的移动网络一般都是在线的,要让应用程序在移动设备上运行良好要比让它离线更容易。
我们现在放弃了离线努力。

最后,我只使用了一个简单的设置间隔,如下所示:

setInterval("SyncLocalStorageToServer()", 4000); // Loop at 4 second intervals
然后调用一个函数,该函数围绕localStorage条目循环,依次将每个条目发送到服务器