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

标签 javascript html json string local-storage

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

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'));
  }

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

window.onload = () => { loadList() }

最佳答案

您已添加您正在从 onload 进行调用,并且
在您的代码中,您将加载到 students 中。

添加到代码的开头:
var 学生;.

注意:某些对象需要特殊处理。
例如:日期:

var date = new Date();
localStorage.date = JSON.stringify(date);
date = new Date(JSON.parse(localStorage.date));

在附加信息之前回答:

keylocalStorage 的一种方法。
不要使用它。
例如,使用students
Storage.key()
(这是假设您调用函数)

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 - 跨源。

关于javascript - 从本地存储检索数据对象并将其重新加载到数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64338502/

相关文章:

javascript - 为什么node.js中的mysql多语句选项会增加SQL注入(inject)的范围?

javascript - 如何将 SVG 文本动画设置为 "written out"

Java JPA GenerationType.Auto 值始终为 null

javascript - 使用 REST API 并发送 POST 请求

javascript - 将表附加到另一个 div | JS 查询

javascript数组整理并显示多维

javascript - 在 JavaScript 中访问 Perl 数组

php - 我如何编写一个包含每个产品的多个值的数组

javascript - 在 JS 中的浏览器中键入 url 时偏移哈希标记链接以针对固定 header 进行调整

javascript - jQuery 数据表处理 Null 子对象