客户端数据存储
我有以下情况:用户提交表单,我通过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 )相结合,您将拥有一个非常快速,简单且易于使用的解决方案。 或者甚至只是存储一个字符串,数组或任何需要的东西。