我正在从 API 获取数据,但无法将数据保存到 localStorage 中。我已经尝试了几件事,但似乎找不到问题所在。giveUsers();function giveUsers() { for (let i = 0; i < 10; i++) { fetch('https://randomuser.me/api/') .then(function (response) { return response.json(); }) .then(function (data) { showUsers(data.results); }) .catch(function (error) { console.log("error", error); }); let showUsers = (users) => { users.forEach(user => { // console.log(user.registered.age); // console.log(user.location.city); let firstName = user.name.first; let id = user.id; console.log(firstName); localStorage.setItem('allUsers', firstName); }); };}}if(localStorage.getItem('allUsers')){ console.log(localStorage.getItem('allUsers'));}我希望我的数据进入 localStorage。
3 回答
![?](http://img1.sycdn.imooc.com/533e4d510001c2ad02000200-100-100.jpg)
杨魅力
TA贡献1811条经验 获得超6个赞
您需要将数据作为字符串存储在 localStorage 中
所以使用 JSON.stringify();
let showUsers = (users) => {
users.forEach(user => {
localStorage.setItem('user', JSON.stringify(user));
});
};
![?](http://img1.sycdn.imooc.com/5458655200013d9802200220-100-100.jpg)
慕慕森
TA贡献1856条经验 获得超17个赞
在您的代码中,您似乎正在为每个用户设置 localstorage,从而有效地覆盖由于相同的“键值”而添加的最后一个用户您应该将它们放在一个列表中并将您的数组存储为 JSON。记住使用“window.localstorage”:它应该看起来像这样
window.localStorage.setItem('allusers', JSON.stringify(listOfUsers));
添加回答
举报
0/150
提交
取消