koa2 使用 cookie
使用方法
koa 提供了从上下文直接读取、写入 cookie 的方法
- ctx.cookies.get(name, [options]) 读取上下文请求中的 cookie
- ctx.cookies.set(name, value, [options]) 在上下文中写入 cookie
koa2 中操作的 cookies 是使用了 npm 的 cookies 模块,源码在 https://github.com/pillarjs/cookies ,所以在读写 cookie 的使用参数与该模块的使用一致。
例子代码
const Koa = require('koa')
const app = new Koa()
app.use( async ( ctx ) => {
if ( ctx.url === '/index' ) {
ctx.cookies.set(
'cid',
'hello world',
{
domain: 'localhost', // 写 cookie 所在的域名
path: '/index', // 写 cookie 所在的路径
maxAge: 10 * 60 * 1000, // cookie 有效时长
expires: new Date('2017-02-15'), // cookie 失效时间
httpOnly: false, // 是否只用于 http 请求中获取
overwrite: false // 是否允许重写
}
)
ctx.body = 'cookie is ok'
} else {
ctx.body = 'hello world'
}
})
app.listen(3000, () => {
console.log('[demo] cookie is starting at port 3000')
})
运行例子
执行脚本
node index.js
运行结果
访问 http://localhost:3000/index
- 可以在控制台的 cookie 列表中中看到写在页面上的 cookie
- 在控制台的 console 中使用 document.cookie 可以打印出在页面的所有 cookie(需要是 httpOnly 设置 false 才能显示)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
上一篇: koa2 static 中间件
下一篇: 彻底找到 Tomcat 启动速度慢的元凶
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论