Koa Cookie 的設置與獲取


一、Koa 設置 Cookie

ctx.cookies.set(name, value, [options])

通過 options 設置 cookie name 的 value :

  • maxAge 一個數字表示從 Date.now() 得到的毫秒數
  • signed cookie 簽名值
  • expires cookie 過期的 Date
  • path cookie 路徑, 默認是'/'
  • domain cookie 域名
  • secure 安全 cookie
  • httpOnly 服務器可訪問 cookie, 默認是 true
  • overwrite 一個布爾值,表示是否覆蓋以前設置的同名的 cookie (默認是 false). 如果是 true, 在同一個請求中設置相同名稱的所有 Cookie(不管路徑或域)是否在設置此Cookie 時從 Set-Cookie 消息頭中過濾掉。

這里以刷新'/'自動設置一個 Cookie 為例:

./routes/index.js:

const router = require('koa-router')()

router.get('/', async (ctx, next) => {
  ctx.cookies.set('mycookie', Math.random())
  await ctx.render('index', {
    title: 'Hello Koa 2!'
  })
})

module.exports = router

刷新 http://localhost:3000/ 自動設置 Cookie:

 

 

二、Koa 獲取 Cookie

ctx.cookies.get(name, [options])

通過 options 獲取 cookie name:

  • signed 所請求的cookie應該被簽名

koa 使用 cookies 模塊,其中只需傳遞參數。

這里以刷新'/json'自動獲取 Cookie 為例:

./routes/index.js:

const router = require('koa-router')()

router.get('/json', async (ctx, next) => {
  ctx.body = {
    title: 'koa2 json',
    cookie: ctx.cookies.get('mycookie')
  }
})

module.exports = router

刷新 http://localhost:3000/json 自動獲取 Cookie:

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM