javascript - 离线优先的 webapp 本地存储同步到 MySQL

标签 javascript mysql html

我正在开发一个离线优先的 Web 应用程序(HTML5 和 JS),用于数据收集,在线时应同步到 MySQL 服务器。我还需要从 MySQL DB 获取一个子集以进行离线搜索(选择数据收集的类别/属性)。

总结一下:

  1. 从 MySQL 获取类别并存储在可查询的客户端数据库中
  2. 收集数据并存储在客户端数据库
  3. 在线同步数据到 MySQL 时(最好通过 PHP 脚本)

我研究过 PouchDB,但我认为这不是正确的解决方案,因为服务器端应用程序都依赖于 MySQL,并且不能全部重写。

您建议什么解决方案?

最佳答案

假设您有一个 JS 博客应用程序,上面带有 Redux(例如)。

您的数据层 (Redux) 将数据保存到 LocalStorage 中,反之亦然,当加载应用程序时,它会检查 LocalStorage 以及是否有数据 - 数据会加载到 Redux 中。

您的 Redux 包含 PostsNewPosts

当应用程序在线时,您向服务器发送请求,服务器响应一些数据,您将这些数据存储到帖子中。

当应用程序离线时,您不会发送任何请求,只需将新帖子存储到NewPosts中。

当您的应用重新上线时 - 您将 NewPosts 中的每个项目发送到服务器,如果它们成功存储 - 将它们从 NewPosts 中删除并更新 发布新内容的帖子

在应用程序中,您首先渲染NewPosts(可能带有未同步图标或其他内容),然后渲染Posts

希望我正确理解了你的问题。

关于javascript - 离线优先的 webapp 本地存储同步到 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54590312/

相关文章:

substring_index 中的 Mysql 多种加工模式

php - 不确定如何让 mod_rewrite 写入某种格式

html - 从 html 中的 <a> 标签中删除标签大纲

javascript - 如何在 Bootstrap 3 中仅使用一个模态 div 打开具有多个按钮的多个模态窗口

javascript - 找到正在运行的 Node JS 文件

javascript - 仅在尚未加载 js 脚本时才加载它,然后仅加载一次

javascript - 如何使用javascript检查多维对象中是否存在值

php mysql 插入/更新字段名称显示

javascript - HTML5 视频元素宽度 70%

javascript - 在 javascript 中添加 enter on 事件