【问题标题】:Can't read local storage after navigation to a new page导航到新页面后无法读取本地存储
【发布时间】:2013-06-14 19:10:08
【问题描述】:

我正在尝试实现 local storage 以按页面导航。

我有一个网站,其中有一些页面,都在一个文件夹中。

在一页中,我正在设置本地存储:

var myObject = { 'id': 1, 'price': 50.0, 'total': 3 };
localStorage.setItem('data', JSON.stringify(myObject));

在第一页中,我看到带有数据的本地存储 - 没关系。但是导航到第二页后,我看到本地存储在尝试读取时是空的:

var localObject = localStorage.getItem('data');

不明白问题出在哪里。

【问题讨论】:

  • 别忘了JSON.parselocalObject
  • 所以你正在做console.log(localObject),但你没有得到字符串?
  • 是的,得到:"ReferenceError: localObject is not defined"
  • 请告诉我们用于访问这两个页面的确切 URL。还有你用的是什么浏览器?这个相关的问题 stackoverflow.com/questions/16010827 表明,如果该项目不存在,则该值应该是 null,这让我认为您的域在某种程度上有所不同。虽然即使那样你也应该收到null 而不是undefined。在安全违规的情况下,您应该会抛出一个硬错误。好奇。

标签: javascript html local-storage


【解决方案1】:

您没有显示太多代码,但如果项目不存在,localStorage 不会引发引用错误。

您是否导航到另一个域并不重要,因为在使用getItemlocalStorage 只会返回null(如果您使用undefined,则使用localStorage[key])。

这表明您在与localStorage 不直接相关的代码中的其他地方存在问题。

但是您需要显示更多代码并告诉我们错误发生在哪一行。

同样如 cmets 中所述,您需要 JSON.parse 数据以重新创建您字符串化的对象。

【讨论】:

    猜你喜欢
    • 2017-08-13
    • 1970-01-01
    • 2018-02-25
    • 1970-01-01
    • 1970-01-01
    • 2013-02-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多