如果连接断开,我如何将表单字段保存为脱机?

时间:2011-09-08 14:19:39

标签: javascript mysql jsp prototypejs

我有一个后端,人们可能需要一些时间来填写表格。每5分钟将表单写入临时表以存储数据。我遇到的问题是,有些人的互联网连接不强,所以他们有时会在没有人知道的情况下丢弃,而且当他们去提交时,表格不能因为失去联系。如果ajax失败,我将每隔5分钟添加一次,然后提示用户,但我想更进一步,可能允许他们离线存储数据然后重新连接以提交它。

问题是,我如何开始将数据存储到本地计算机上的文件中?据我所知,客户端脚本无法创建文件,我们无法使用ajax调用保存到本地文件的远程文件。我想我可以提示在本地开始保存文件,但本地机器仍然需要支持该语言。我们正在使用JSP与MySQL。

有人知道如何在连接断开时离线保存数据吗?

2 个答案:

答案 0 :(得分:0)

实施离线功能可能会成为一项艰难的工作。您的问题太广泛而无法提供最终答案,但您应该查看HTML5功能,可以查看概述here。使用此功能需要您的用户使用现代浏览器版本。您还必须考虑同步/复制。

如果连接仅在有限的时间内丢失,则仅使用富客户端并使用JavaScript将数据存储在内存中就足够了。

答案 1 :(得分:0)

这样的事情应该做的工作:

第一种方式:

  1. 使用HTML5 localStorage / session存储,或类似Gear to 在客户端保存数据
  2. 创建一个ajax循环来ping连接,理想情况下服务器应配置为使用http代码100进行回复(我推测)
  3. 连接时发送数据
  4. 第二种方式:

    使用HTML5离线功能或替代品(请参阅modernizrpolyfill