• nodejs+express设置和获取cookie,session


    cookie

    1.安装依赖包

    yarn add cookie-parser
    或者 npm i  cookie-parser
    
    • 1
    • 2

    2.使用

    //注册
    const cookieParser = require('cookie-parser')
    
    app.use(cookieParser())
    
    • 1
    • 2
    • 3
    • 4

    3.写接口

    //设置cookie
    app.get("/set_cookie",(req,res) => {
      res.cookie('name',"node",{maxAge: 60*60*2})
      res.cookie("age",11)
      res.send("设置了cookie")
    })
    
    //获取cookie
    app.get("/get_cookie",(req,res)=>{
      let name = req.cookies['name']
      let age = req.cookies["age"]
      res.send({
        name: name,
        age:age
      })
    })
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    session cookie-session

    session依赖于cookie

    1.安装依赖包

    yarn add cookie-session
    或者 npm i  cookie-session
    
    • 1
    • 2

    2.使用

    //注册session
    const cookieSession = require('cookie-session')
    
    app.use(cookieSession({
      name:"my_session", //命名
      keys:["asdaafadsfgdgjsidlyfgulaujhisuhdifgweui"],  //加密字段
      maxAge: 1000 * 60 * 60 *24 *2  //保存的时间
    }))
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    3.写接口

    
    //设置session
    
    app.get("/set_session",(req,res)=>{
      req.session["name"] = "xinghuo"
      req.session["age"] = 20
      res.send("设置了session")
    })
    
    //获取session
    app.get("/get_session",(req,res)=>{
      let name = req.session["name"]
      let age = req.session["age"]
      res.send({
        name,
        age
      })
    })
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    这两种方式不能同时使用


    session express-session

    安装依赖

    yarn add express-session
    或 npm i express-session
    
    • 1
    • 2

    使用

    const expressSession= require("express-session")
    app.use(expressSession({
      secret:"xinghuo",
      resave:false,
      saveUninitialized:true
    }))
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    写接口

    //设置
    router.get("/set_eSession",(req,res) =>{
        req.session.user = {name:'张三',age:18}
        res.send("设置了expressSession")
    })
    //获取
    router.get("/get_eSession",(req,res)=>{
        const {user} = req.session
        res.send(user)
    })
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
  • 相关阅读:
    java基础10题
    linux下应用开发之按键信号结束线程
    【yaml文件的编写】
    sql注入之高权限注入和文件读写
    Dubbo2.7源码详解
    java集合
    Elasticsearch-06-Elasticsearch Java API Client
    嵌入式5. ARM指令集详解
    案例题真题-数据库系统
    回归测试策略指南
  • 原文地址:https://blog.csdn.net/weixin_45822938/article/details/125509868