我试图将一个数组保存到本地存储中,然后再获取它。
localStorage.setItem("savedquestionslist", questions);
console.log(localStorage.getItem(savedquestionslist));
变量“ questions”是一个数组。
但是我收到此错误:
ReferenceError:未定义保存的问题列表。
即使这样做,我仍然会收到错误消息:
localStorage.setItem("savedquestionslist", "test");
console.log(localStorage.getItem(savedquestionslist));
有人知道这个问题是什么吗?谢谢
答案 0 :(得分:0)
savedquestionslist
必须是字符串。
console.log(localStorage.getItem('savedquestionslist'));
答案 1 :(得分:0)
问题出在您使用getItem
的语法中。
它接受一个字符串作为参数。您正在传递变量,并且错误表示未定义变量savedquestionslist
。
将代码更改为:
localStorage.setItem("savedquestionslist", questions);
console.log(localStorage.getItem("savedquestionslist"));
一个例子是
var questions = ['firstQuestion', 'secondQuestion', 'thirdQuestion'];
localStorage.setItem("savedquestionslist", questions);
console.log(localStorage.getItem("savedquestionslist"));
答案 2 :(得分:0)
您遇到的错误是因为您忘记了getItem
调用中的引号:
console.log(localStorage.getItem("savedquestionslist"));
// ------------------------------^------------------^
或者您可以使用文字访问权限:
console.log(localStorage.savedquestionslist);
但是在两种情况下,由于本地存储仅存储字符串,因此我将使用JSON,否则将无法正确保存/检索您的数组:
localStorage.setItem("savedquestionslist", JSON.stringify(questions));
console.log(JSON.parse(localStorage.getItem("savedquestionslist")) || []);
(|| []
用于您从未设置过的项目,它提供了默认的空数组。)