设置 操作 cookie 在客户端存留的时间

let express = require('express')
// 引入读取浏览器带过来的cookie
let cookieparser = require('cookie-parser')

let app = express()

// 中间件
app.use(cookieparser())

// demo 路由不对 cookie 进行任何操作
app.get('/demo', function (req, res) {
    res.send('我是demo路由给你的反馈,我没有对cookie进行任何的操作')
})

// 会话 cookie,关闭浏览器即立刻消失
// demo1 路由,负责个客户端"种"下一个 cookie
app.get('/demo1', (req, res) => {
    // 1.给客户端种下一个会话cookie
    // 2.express 中给客户端"种"cookie不需要任何的库
    // cookie 需要的事字符串
    let obj = {school: 'zhangsan', subject: 'qianduan'}
    res.cookie('peiqi', JSON.stringify(obj)) // 给客户端种下 cookie
    res.send('我是 demo1路由给你的反馈,我给你种下了一个会话cookie,你赶紧去浏览器里看看')
});

// demo2路由,负责给客户端"种"下一个持久化 cookie
app.get('/demo2', function (req, res) {
    res.cookie('xiaoming', 'hello', {maxAge: 1000 * 30}) // 给客户端种下一个持久化 cookie
    res.send('我是demo2路由给你的反馈,我给你种下一个持久化cookie,你赶紧去浏览器看看')
})

// demo3 路由,负责读取客户端所携带过来的 cookie
app.get('/demo3', function (req, res) {
    // express 中读取客户端携带过来的 cookie 要借助一个中间件吗,名为: cookie-parser
    console.log(req.cookies)
    const {peiqi} = req.cookies
    let a = JSON.parse(peiqi)
    console.log(a.school)
    res.send('我是 demo3 路由,我读取了你携带过来的cookie,你去服务器可哦内阁制太')
})

// demo4 路由负责告诉客户端删除一个cookie
app.get('/demo4', function (req, res) {
    res.clearCookie('pqiqi')
    res.send('兄弟,我删除你所保存的key为peiqi的那个cookie')
})

app.listen(3000, function (err) {
    if (!err) console.log('服务器启动成功')
    else console.log(err)
})
posted @ 2022-07-21 15:50  生活在北极的企鹅  阅读(62)  评论(0编辑  收藏  举报