ExpressJS - Cookies

ExpressJS - Cookies 首页 / ExpressJS入门教程 / ExpressJS - Cookies

Cookie是简单的files/data,随服务器请求发送到客户端并存储在客户端,每次用户重新访问网站时,该cookie都会与请求一起发送。

要将Cookie与Express一起使用,无涯教程需要cookie解析器中间件。要安装它,请使用以下代码-

npm install --save cookie-parser

现在要在Express中使用cookie,需要 cookie-parsercookie-parser是一种中间件,它解析附加到客户端请求对象 的cookie 。要使用它需要在 index.js 文件中使用它;在这里将使用以下代码。

var cookieParser=require('cookie-parser');
app.use(cookieParser());

cookie-parser解析Cookie头,并用cookie名称作为键的对象填充 req.cookies 。要设置新的Cookie,现在Express中定义新路由

var express=require('express');
var app=express();

app.get('/', function(req, res){
   res.cookie('name', 'express').send('cookie set'); //Sets name=express
});

app.listen(3000);

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

console.log(document.cookie);

您将得到类似的输出-

"name=express"

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

console.log('Cookies: ', req.cookies);

下次向该路由发送请求时,您将收到以下输出。

Cookies: { name: 'express' }

添加过期时间

您可以添加过期的Cookie。要添加过期的cookie,只需传递一个属性为" expire"的对象 设置为您希望其过期的时间即可。如,

//自设置时间起 360000 毫秒后过期。
res.cookie(name, 'value', {expire: 360000 + Date.now()}); 

设置到期时间的另一种方法是使用'maxAge'属性。使用此属性,无涯教程可以提供相对时间而不是绝对时间。以下是此方法的示例。

//此 cookie 也会在设置后 360000 毫秒后过期。
res.cookie(name, 'value', {maxAge: 360000});

删除Cookie

要删除cookie,请使用clearCookie函数。如,如果您需要清除名为 foo 的cookie,请使用以下代码。

var express=require('express');
var app=express();

app.get('/clear_cookie_foo', function(req, res){
   res.clearCookie('foo');
   res.send('cookie foo cleared');
});

app.listen(3000);

在下一章中,无涯教程将看到如何使用cookie来管理会话。

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

朱赟的技术管理课 -〔朱赟〕

深入浅出区块链 -〔陈浩〕

从0开始做增长 -〔刘津〕

从0开发一款iOS App -〔朱德权〕

.NET Core开发实战 -〔肖伟宇〕

罗剑锋的C++实战笔记 -〔罗剑锋〕

如何看懂一幅画 -〔罗桂霞〕

说透低代码 -〔陈旭〕

B端体验设计入门课 -〔林远宏(汤圆)〕

好记忆不如烂笔头。留下您的足迹吧 :)