客户端数据存储

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

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

该应用程序在Rails中。

谢谢。

你有几个选择:

Cookies LocalStorage SessionStorage

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

非标:

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

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

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

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

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

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

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