教程 > koa.js 中文教程 > 阅读:95

koa.js cookies——迹忆客-ag捕鱼王app官网

cookies 是简单的小文件/数据,通过服务器请求发送到客户端并存储在客户端。 每次用户重新加载网站时,此 cookie 都会随请求一起发送。 这有助于跟踪用户的操作。 http cookie 有多种用途。

  • 会话管理
  • 个性化(推荐系统)
  • 用户跟踪

要在 koa 中使用 cookie,我们有以下函数:ctx.cookies.set()ctx.cookies.get() 。 要设置一个新的 cookie,让我们在 koa 应用程序中定义一个新的路由。

var koa = require('koa');
var router = require('koa-router');
var app = new koa();
var _ = router(); // 实例化路由器
_.get('/', setacookie);
function setacookie(ctx,next) {
     ctx.body = "设置 cookie!";
   ctx.cookies.set('foo', 'bar', {httponly: false});
}
app.use(_.routes()); // 使用由 router 定义的路由
app.listen(3000);

要检查 cookie 是否设置,只需转到浏览器,启动控制台,然后输入

console.log(document.cookie);

这将产生以下输出(由于浏览器中的扩展,我们可能设置了更多 cookie)。

"foo = bar"

koa 设置 cookie

浏览器还会在每次查询服务器时发回 cookie。 要查看服务器上的 cookie,需要在路由中的服务器控制台上,将以下代码添加到该路由。

console.log('cookies: foo = ', this.cookies.get('foo'));

下次我们向此路由发送请求时,将获得以下输出。

cookies: foo = bar

我们可以添加具有过期时间的 cookie。 要添加具有过期时间的 cookie,只需传递一个将属性“过期时间”设置为我们希望它过期的时间的对象。 例如,

var koa = require('koa');
var router = require('koa-router');
var app = new koa();
var _ = router(); // 实例化路由器
_.get('/', setacookie);
function setacookie(ctx,next) {
     ctx.body = "设置 cookie!";
   ctx.cookies.set('foo', 'bar', {httponly: false,expires: 360000   date.now()});
}
app.use(_.routes()); // 使用由 router 定义的路由
app.listen(3000);

要取消设置 cookie,只需将 cookie 设置为空字符串。 例如,如果需要清除名为 foo 的 cookie,请使用以下代码。

function setacookie(ctx,next) {
      ctx.cookies.set('foo', '')
}

这将取消设置所述 cookie。 请注意,在客户端代码中不使用 cookie 时,我们应该设置 httponly 选项为 true

查看笔记

扫码一下
查看教程更方便
网站地图