egg.js 中cookie的使用

1 、Cookie  简介

  • cookie 是存储于访问者的计算机中的变量。可以让我们用同一个浏览器访问同一个域名的时候共享数据,实现数据的持久化。
  • HTTP 是无状态协议。简单地说,当你浏览了一个页面,然后转到同一个网站的另一个页面,服务器无法认识到这是同一个浏览器在访问同一个网站。每一次的访问,都是没有任何关系的。
  • cookie可以设置多个。

2 、设置cookie的值

第三个参数options,用来配置cookie的一些参数

注意:cookie默认不能设置中文,如果cookie加密以后就可以把cookie设置为中文

this.ctx.cookies.set(key, value, options)

3、获取cookie

this.ctx.cookies.get(key, options) //通过key来获取cookie

4、清除cookie

通过cookie的key把值设置为null,或者设置 maxAge 过期时间为 0 即可

this.ctx.cookies.set(key,null)

5、options的常用配置

  • {Number} maxAge: 设置这个键值对在浏览器的最长保存时间。是一个从服务器当前时刻开始的毫秒数。
  • {Boolean} httpOnly: 默认为 true,设置键值对是否可以被后台访问,不允许被客服端访问。
  • {Boolean} signed:默认为 true,对cookie签名,可以防止前端对这个值进行篡改。
  • {Boolean} encrypt:默认为 false,设置是否对 Cookie 进行加密,value不会在客户端明文显示,如果设置了加密,那么获取时需要进行解密,设置第二个参数encrypt:true

6、设置中文 cookie,另一种解决办法

console.log(new Buffer('hello, world!').toString('base64'));
// 转换成 base64 字符串:aGVsbG8sIHdvcmxkIQ==

console.log(new Buffer('aGVsbG8sIHdvcmxkIQ==', 'base64').toString());
// 还原 base64 字符串:hello, world!

7、cookie详细解读查看eggjs官方文档

https://eggjs.org/zh-cn/core/cookie-and-session.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值