解决:
使用JSON.stringify()方法
cookie.set('guli_ucenter', JSON.stringify(this.loginInfo), { domain: 'localhost' })
将cookie转为字符串存储
ps:用JSON.parse()方法将其转为json格式
原因:
在做一个系统登录问题的时候,遇到了一个问题。需求是登录成功后根据token返回用户信息的json数据,保存到cookie中。
//登录成功根据token获取用户信息
loginApi.getLoginInfo().then(response => {
this.loginInfo = response.data.data.userInfo
//将用户信息记录cookie
cookie.set('guli_ucenter', this.loginInfo, { domain: 'localhost' })
})
但是在取cookie的值时
var jsonStr = cookie.get("guli_ucenter");
if (jsonStr) {
this.loginInfo = JSON.parse(jsonStr)
}
提示 Unexpected token o in JSON at position 1,发现cookie为[object Object]不是String字符串类型,无法使用JSON.parse方法,故报错。