繁体   English   中英

是否可以从HTML5的本地存储中提取数据并保存到服务器数据库?

[英]Is it possible to pull data from HTML5's local storage and save to server database?

我有一个社交网络应用程序的想法,部分想法是将数据从localstorage提取到服务器数据库。 这样做的原因是你有一个想法,你想把它放在你的社交应用程序的下一个状态,但你没有任何信号和无线。 您在应用程序上写下状态,并将其保存到本地存储区,以便在他们返回可以在线连接手机的地方时使用。

然后他们到达一个他们可以上网的地方,应用程序然后检测到localstorage中有一个更改,然后从那里拉出它并保存到服务器数据库。

这是否可能,如果是这样,您将如何实施它? 如果不可能的话,你认为这可能是将来的某个时候吗?

我期待听到您对此问题的评论和答案,因为我认为这可能是一次非常大的讨论。

是的,有可能,为什么不呢? 当您从本地存储中提取数据时,数据就像任何其他Javascript变量一样,没有任何限制会阻止您将其发送到除缺少Internet连接之外的服务器。

你将如何实施它?

首先,您需要检测连接状态,请参阅此问题 因此,当用户尝试更新其状态时,它会检查连接是否在线,如果不是,则将其保存到本地存储。

使用链接问题中的方法检测连接何时恢复,然后从本地存储中提取数据并通过将其发送到服务器,然后清除本地存储以防止发送重复数据。

您可以定期检查Javascript中的navigator.onLine以获取设备的在线状态。 请注意,虽然

  navigator.onLine == false 

安全地告诉你一个离线的设备,

 navigator.onLine == true 

并不一定意味着它可以访问互联网并且可以执行请求,只是它连接到某种网络。

一旦你认为设备没有脱机,你就会发送一个ajax请求(我建议使用jQuery的$ .ajax函数),你可以从localStorage中发布数据

(localStorage.getItem('dataToPull'))

到PHP脚本,然后将其插入MySQL数据库。

如果该ajax请求失败,并且您确定它没有得到PHP / MySQL错误,则可以安全地假设虽然该设备已连接到网络并且navigator.onLine为true,但是没有互联网连接。 然后,您可以进行一些错误处理,例如在5分钟内再次轮询设备。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM