客户端数据存储

时间:2012-08-02 20:44:42

标签: javascript ruby-on-rails ajax

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

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

该应用程序位于Rails中。

感谢。

2 个答案:

答案 0 :(得分:1)

您有几个选择:

缓存 localStorage的 的sessionStorage

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

非标:

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

答案 1 :(得分:1)

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

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

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

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

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

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