首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从本地存储中检索数据对象并将其重新加载到数组中

从本地存储中检索数据对象并将其重新加载到数组中
EN

Stack Overflow用户
提问于 2020-10-13 15:39:24
回答 3查看 67关注 0票数 2

我已经从这个网站采取了一些要点,当涉及到传输数据到和从本地存储。然而,它似乎不能正常工作。简而言之,我试图以包含对象的数组的形式将数据加载到本地存储和从本地存储中加载。我知道它被保存为本地存储中的字符串,然后使用JSON格式来解决这个问题,我认为当对象中有对象时,也会出现问题。然而,在目前的状态下,它似乎不起作用。有什么想法吗?

代码语言:javascript
运行
复制
var students = [{name: "Petrina", age: "20"}];
  function saveList(){
    localStorage.setItem('somekey', JSON.stringify(students));
    console.log("Saved to Local");
  }
  function loadList(){
    students = JSON.parse(localStorage.getItem('somekey'));
  }

代码没有错误,我正在使用与加载窗口相关的函数。

代码语言:javascript
运行
复制
window.onload = () => { loadList() }
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2020-10-13 15:49:07

你补充说你是从onload打来的,

在您的代码中,您将加载到students中。

添加到代码的开头:

var students;

注意:有些对象需要特殊处理。

例如:Date

代码语言:javascript
运行
复制
var date = new Date();
localStorage.date = JSON.stringify(date);
date = new Date(JSON.parse(localStorage.date));

在补充资料之前回答:

keylocalStorage的一种方法。

别用它。

例如,可以使用students

Storage.key()

(这是假设您调用了函数)

代码语言:javascript
运行
复制
var students = [{name: "Petrina", age: "20"}];
function saveToLocalStorage(key, value){
  localStorage.setItem(key, JSON.stringify(value));
  console.log("Saved to LocalStorage");
}
function loadFromLocalStorage(key){
  console.log("Loaded from LocalStorage");
  return JSON.parse(localStorage.getItem(key));
}
console.log("students: "+students);
saveToLocalStorage("stu", students);
var st2=loadFromLocalStorage("stu");
console.log("st2: "+st2);
  • 无法在代码段中运行:沙箱,无法访问localStorage -交叉原点。
票数 1
EN

Stack Overflow用户

发布于 2020-10-13 16:50:13

它解决了!-我不知道是什么问题。在查看本地存储数据时,我清除了所有函数的调用,并一次调试了保存和加载函数1。首先要解决的问题是,它根本没有保存在运行时更新的数据,因此它只是继续加载始终相同的值。@iAmOren通过创建一个返回值的函数的想法可能已经做到了这一点,但是我不知道为什么。感谢您的回复和支持!

票数 1
EN

Stack Overflow用户

发布于 2020-10-13 16:34:00

您是否遗漏了对saveList函数的调用?

在调用saveList之前调用loadList会像您预期的那样工作。

请参阅:https://codesandbox.io/s/strange-brown-3mmeq?file=/index.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64338502

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档