客户端数据存储

Client side data storage

本文关键字:存储 数据 客户端      更新时间:2023-09-26

我有以下情况:用户提交表单,我通过Ajax请求从服务器获取数据并显示图表。然而,我想让用户选择以表格形式显示图表中的数据,或者在他提交表格后导出为csv。

我想知道存储数据的最佳解决方案是什么,例如,如果用户打开新窗口再次提交表单,我不希望数据持久存在。

该应用程序位于Rails中。

谢谢。

您有几个选项:

Cookie本地存储会话存储

更多信息:https://developer.mozilla.org/en/DOM/Storage

非标准:

window.name可以存储1mb到10mb的任何内容,具体取决于浏览器。这更像是一个破解,但相当稳定。您需要在此基础上实现自己的访问器/设置器方法,其中localStorage和sessionStorage内置了API。

就我个人而言,如果您的所有用户浏览器都支持本地存储,我会推荐它。

它的使用非常简单,您可以使用这些to方法访问它。

localStorage.getItem("Itemkey");
localStorage.setItem("Itemkey","value");
localStorage.removeItem("ItemKey");

这总是一个很好的方法,这意味着你可以为每个窗口分配一个不同的本地存储密钥,甚至在窗口关闭或卸载时删除该项!

作为参考,我发现这非常有用:http://diveintohtml5.info/storage.html

并将其与存储JSON对象(http://www.json.org/js.html),并且您有一个非常快速、简单且易于使用的解决方案。或者甚至只存储一个字符串、数组或所需的内容。