我正在使用cookie解析器,所有教程都讨论了如何设置cookie以及它到期的时间但没有教我们如何获取这些cookie的价值
答案 0 :(得分:9)
首先请注意,Cookie会通过服务器请求发送到客户端,存储在客户端。每次用户加载网站时,都会随请求一起发送此cookie。
因此,您可以使用
访问客户端的cookie(例如,在客户端Java脚本中)document.cookie
您可以通过打开浏览器控制台(F12)并键入
在客户端进行测试console.log(document.cookie);
您可以使用
从服务器(在您的情况下,expressjs)访问cookiereq.cookies
最佳做法是检查客户端是否正确存储。请记住,并非所有浏览器都允许在未经用户许可的情况下存储Cookie。
根据您的评论,您的代码应该类似于
var express = require('express');
var app = express();
var username ='username';
app.get('/', function(req, res){
res.cookie('user', username, {maxAge: 10800}).send('cookie set');
});
app.listen(3000);
答案 1 :(得分:0)
希望这会对您有所帮助
var app=requir('express')();
app.use('/',(req,res) => {
var cookie = getcookie(req);
console.log(cookie);
});
function getcookie(req) {
var cookie = req.headers.cookie;
//user=someone; session=QyhYzXhkTZawIb5qSl3KKyPVN (this is my cookie i get)
return cookie.split('; ');
}
输出
'user=someone',
'session=QyhYzXhkTZawIb5qSl3KKyPVN' ]
答案 2 :(得分:0)
对于偶然发现此问题的人,这是我的做法:
您需要安装express cookie-parser中间件,因为它不再与express打包在一起。
PS C:\Users\arthu\MS>
然后将其设置为
npm install --save cookie-parser
然后您可以从
访问cookie。const cookieParser = require("cookie-parser");
const app = express();
app.use(cookieParser());
希望有帮助。