2

我有 PHP / MySQL 前端,它使用一些非常大的表单来收集数据。我在后台使用 JSON 帖子定期将数据保存到数据库中。有时,用户会失去连接,但会继续工作。然后该数据丢失,导致沮丧等......

是否可以在连接丢失时让客户端无缝转换为将数据保存在本地文件中,然后在连接恢复后同步回数据库?我知道这不是一个简单的请求,我只是想看看它是否已经完成,或者理论上可以完成。

提前致谢。

4

1 回答 1

1

您可以尝试使用 LocalStorage。您可以在此处找到有关该机制的基本信息

简单的用法如下: 1. 当用户打开一个表单时,您检查本地存储中是否有任何数据(如果这些数据比来自服务器的数据更新) - 如果是,则加载它。2. 有时 js 会尝试发送带有更新的 ajax 调用。在失败(连接超时等)时,js 只是将数据保存在本地(带有时间戳)并稍后尝试保存。

但是,您可以通过将每次更改(或当用户移动到另一个字段时)的表单数据保存到本地存储中并偶尔运行第二个函数来尝试将这些数据发送到服务器来改进它。

这种解决方案的缺点是它不能在旧浏览器中工作,但如果你真的需要,你可以通过将 LocalStorage 替换为... cookie 来克服这个问题。这将是可怕的丑陋,但会根据您的需要工作。

于 2013-09-25T18:40:23.043 回答