NodeJS操作和访问Cookie

2019-03-14  本文已影响0人  v刺猬v

客户端通过Javascript查看/修改Cookie

随着HTML5,localStorage和sessionStorage,已经很少再去通过Javascript修改Cookie,作为客户端数本地数据存储的途径了。

Server端NodeJS操作Cookie

let http = require('http')

let app = http.createServer((req, res) => {
  // 服务器端读取cookie
  req.cookie = {}
  let cookies = req.headers.cookie ? req.headers.cookie.split(';') : []
  if (cookies.length > 0) {
    cookies.forEach(item => {
      if (item) {
        let cookieArray = item.split('=')
        if (cookieArray && cookieArray.length > 0) {
          let key = cookieArray[0].trim()
          let value = cookieArray[1] ? cookieArray[1].trim() : undefined
          req.cookie[key] = value
        }
      }
    })
  }
  // 服务器端设置cookie

  res.setHeader('Set-Cookie', `key1=value1;httpOnly;expires=${getExpireTime()}`)

  res.end(
    JSON.stringify(req.cookie)
  )
})

app.listen(3000, () => {
  console.log('running on 3000')
})

function getExpireTime () {
  let d = new Date()
  d.setTime(d.getTime() + 15 * 60 * 1000)
  return d.toUTCString()
}
上一篇 下一篇

猜你喜欢

热点阅读