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


    使用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()
    }
     
  • 相关阅读:
    jenkins
    k8s 驱逐限制
    jenkins+k8s 实现持续集成
    镜像更新备份
    【工具分享】2020年4月 phpstorm2020.1 for mac
    【排坑】mac安装homebrew会遇到的各种问题解决方案
    记一次C盘扩容
    2018夏季工作台之再设计
    left join后面加上where条件浅析
    编程随想篇(2018夏)
  • 原文地址:https://www.cnblogs.com/500m/p/11003507.html
Copyright © 2020-2023  润新知