这样保存信息,为何读取不出来?

作者站长头像
站长
· 阅读数 5

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个回答
avatar
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'))

回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容