这样保存信息,为何读取不出来?
VUE3请求API获取接口数据格式如下:然后我把上面的信息保存到本地缓存中
console.log(res.data.data);
localStorage.setItem('token', res.data.data['token']);
localStorage.setItem('gawxapp_user', res.data.data);
然后在其他页面使用这两个缓存
....
<van-cell title="标题" :value="userinfo.nickname" size="large" />
......
if(localStorage.getItem('gawxapp_user')){
userinfo.value = localStorage.getItem('gawxapp_user');
}
结果在页面上就获取不出userinfo中信息了,于是我就在把本地中的数据拿出来看了下,结果是Object;另外一个名称为token的,倒是正常保存了一段字符串!
请问,我如何能把请求到的数据保存到本地缓存中,然后在需要的时候拿出来使用?
回复
1个回答
test
2024-07-06
localStorage.setItem('gawxapp_user', res.data.data);
这段代码有问题,你这里的res.data.data
应该是一个对象类型的数据吧。是的话存储的时候需要将其JSON字符串化:localStorage.setItem('gawxapp_user', JSON.stringify(res.data.data))
。取得时候JSON.parse(localStorage.getItem('gawxapp_user'))
回复
适合作为回答的
- 经过验证的有效解决办法
- 自己的经验指引,对解决问题有帮助
- 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
- 询问内容细节或回复楼层
- 与题目无关的内容
- “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容