码迷,mamicode.com
首页 > 其他好文 > 详细

11 ~ express ~ 解决 cookie 中文报错的问题

时间:2019-06-11 15:08:34      阅读:100      评论:0      收藏:0      [点我收藏+]

标签: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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!