我已经弄明白了有关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。
我究竟做错了什么?
您要将返回的字符串解析为JSON以获取station
,如:
var defaultReportData = JSON.parse(localStorage.getItem('defaultReportData'));
console.log( defaultReportData.station );
您必须使用在存储时使用的相同key
(defaultReportData)从localStorage检索数据,然后将字符串数据解析为JSON对象
var data=JSON.parse(localStorage.getItem('defaultReportData'));
console.log(data.station);
它可以工作,只需复制并粘贴到您的控制台即可
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);