前端的坑

1.往sessionStorage存数据,网页刷新后才有效果
2.而且只能存字符串,存接json数据需要转换下

sessionStorage和localStorage
window.sessionStorage(会话存储):暂时储存,浏览器关闭之后会清除
window.localStorage (本地存储):本地储存,浏览器关闭之后依旧不会清除,只能人为删除
平时储存的话建议使用sessionStorage;

sessionStorage去储存一个数组,然后在这个数组里面push一个个对象
下面是js的代码:

let obj = {
   name:'xy',
   age:'21'
}
sessionStorage.setItem('data-xy',[obj])
console.log(sessionStorage.getItem('data-xy'))        // [object Object]

即使我直接添加一个obj进去ta依旧是这样的

let obj = {
   name:'xy',
   age:'21'
}
sessionStorage.setItem('data-xy',obj)
console.log(sessionStorage.getItem('data-xy'))        // [object Object]

而后查了一下相关的文献才知道原来如果想要存储对象的话必须先用JSON.stringify()方法将对象转化成一个对象字符串,然后才能进行存储。

let obj = {
   name:'xy',
   age:'21'
}
let objStr = JSON.stringify(obj)
sessionStorage.setItem('data-xy',[objStr])
console.log(sessionStorage.getItem('data-xy'))        // {"name":"xy","age":"21"}

最后在要使用这个对象的时候先将对象字符串取出来,然后在用JSON.parse()这个方法将字符串转化成json对象就可以用啦:

let obj1 = JSON.parse(sessionStorage.getItem('data-xy'))
Last modification:November 3rd, 2019 at 06:23 pm
If you think my article is useful to you, please feel free to appreciate

Leave a Comment