我正在尝试访问使用 JWT 登录后设置的 cookie。然而,我没有收到 cookie,而是得到 [Object: null prototype] {} 。我已经安装了cookie解析器。我该如何解决这个问题?
如何在 Express 应用程序中正确访问服务器端的 cookie?
请参阅在 Express 服务器中创建 cookie 的最少代码。您可以用它来检查一下您的问题以找出问题所在。
它生成一个名为“hitcount”的cookie,并且根路由处理程序中的逻辑在每次访问时保持相同的增量。
服务器.js
const express = require('express');
const cookieParser = require('cookie-parser');
const app = express();
app.use(cookieParser());
app.get('/', function (req, res) {
let hitcount = req.cookies.hitcount;
if (hitcount > 0) {
hitcount++;
} else {
hitcount = 1;
}
res.cookie('hitcount', hitcount);
res.send(`Hitcount ${hitcount}`);
console.log(req.cookies);
});
app.listen(8080);
测试服务器
请在浏览器中执行以下命令,并保持刷新。
http://localhost:8080/
输出
// Browser
Hitcount 1
Hitcount 2
....
// Server console
{ hitcount: '1' }
{ hitcount: '2' }
....