localStorage返回NULL

问题描述 投票:2回答:3

我已经弄明白了有关localStorage的问题。我的代码看起来像这样:

var defaultReportData = {
  'station': 'DR P3',
  'days': 'Mon, Tue, Wed, Thur, Fri',
  'startHour': '06:00',
  'endHour': '18:00',
  'demography': 'Cover: All'
}

localStorage.setItem('defaultReportData', JSON.stringify(defaultReportData));

// Returns null
console.log(localStorage.getItem('station'));

每当我在加载页面后在控制台中输入“localStorage”时,对象就会正确输出。但是,当我想获取特定值时,localStorage输出在我的控制台中返回null。

我究竟做错了什么?

javascript json local-storage
3个回答
4
投票

Working Live example

您要将返回的字符串解析为JSON以获取station,如:

var defaultReportData = JSON.parse(localStorage.getItem('defaultReportData'));
console.log( defaultReportData.station );

1
投票

您必须使用在存储时使用的相同key(defaultReportData)从localStorage检索数据,然后将字符串数据解析为JSON对象

var data=JSON.parse(localStorage.getItem('defaultReportData'));
console.log(data.station);

0
投票

它可以工作,只需复制并粘贴到您的控制台即可

    var defaultReportData = {
      'station': 'DR P3',
      'days': 'Mon, Tue, Wed, Thur, Fri',
      'startHour': '06:00',
      'endHour': '18:00',
      'demography': 'Cover: All'
    }

    window.localStorage.setItem('defaultReportData', JSON.stringify(defaultReportData));

    // Returns null

    var itemPref = window.localStorage.getItem('defaultReportData')

    var resultObject = JSON.parse(itemPref);

    console.log(resultObject.station);
© www.soinside.com 2019 - 2024. All rights reserved.