标签:code inf decode res ons 内容 方法 注意 get
使用cookies包需要注意:
1,cookie中是不能有中文的,一旦有中文,就会报错
2,cookie是通过 中间件的形式直接挂载到 req对象上的,那么cookies有的方法,req.cookies就有,一样的
cookie是一个对象,需要JSON.stringify;
3,编码使用 encodeURI("需要编码的内容")
4,解码使用decodeURI("需要解码的内容")
一,编码 /router/api.js
try {
req.cookies.set("userInfo", encodeURI(JSON.stringify({
_id: userInfo._id,
username: userInfo.username
})))
} catch (e) {
console.log(e)
}
二,解码 app.js
app.use((req, res, next) => {
var cookies = new Cookies(req,res)
req.userInfo = {}
if (req.cookies.get("userInfo")) {
try {
var userInfo = req.cookies.get("userInfo")
req.userInfo = JSON.parse(decodeURI(userInfo))
console.log(‘app.js, 解析userinfo-成功‘)
console.log(req.userInfo)
} catch (e) {
console.log("app.js, 解析cookie信息失败")
}
}
next()
}
11 ~ express ~ 解决 cookie 中文报错的问题
标签:code inf decode res ons 内容 方法 注意 get
原文地址:https://www.cnblogs.com/500m/p/11003507.html