node.js - cookie session express 包中带有 req.session 的空对象
问题描述
我试图解决这个问题很长时间。我正在尝试使用快速 cookie 会话进行 cookie 会话并在前面做出反应。Cookie 应该在我的 req.session 对象中,但它是空的。
这是我的代码:
const cookieSession = require('cookie-session');
const express = require('express');
const app = express();
const cookieParser = require('cookie-parser');
const bodyParser = require('body-parser');
const keys = require('./config');
app.use(express.urlencoded({ extended: true }));
app.use(bodyParser.json());
app.set('trust proxy', 1);
app.use(cookieSession({
name: 'session',
maxAge: 3000000,
keys: ['key1', 'key2']
}))
app.get('/t', function (req, res) {
// here I'm expecting to get cookie object
res.send(req.session);
})
require('./routes/tasksRoutes')(app);
require('./routes/checkAnswers')(app)
app.listen(5000);
你能帮我解决那个问题吗?为什么我得到空对象?感谢你们!
解决方案
你需要设置cookie,你所做的是配置它,现在你需要设置它才能使用它
const cookieSession = require('cookie-session');
const express = require('express');
const app = express();
const cookieParser = require('cookie-parser');
const bodyParser = require('body-parser');
const keys = require('./config');
app.use(express.urlencoded({ extended: true }));
app.use(bodyParser.json());
app.set('trust proxy', 1);
app.use(cookieSession({
name: 'session',
maxAge: 3000000,
keys: ['key1', 'key2']
}))
// now when you'd hit this URL your user will have a cookie attached to it.
app.get('/s', function (req, res) {
res.cookie('cookieName', 'cookieValue')
});
app.get('/t', function (req, res) {
// you'd be able to see your cookie object here after hitting '/s' API
// here I'm expecting to get cookie object
res.send(req.session);
})
require('./routes/tasksRoutes')(app);
require('./routes/checkAnswers')(app)
app.listen(5000);
推荐阅读
- ember.js - handebars 中的表达式内部表达式
- mysql - 从sqlite切换到mysql,无法迁移数据库
- python - 为什么 Python 的内置求和比手动求和慢得多?
- vb.net - 如何解决这个''对象引用未设置为对象的实例''在vb.net
- javascript - 从 arry 中删除字符串的第一个逗号
- wordpress - 问号和分号出现在我的网站上
- jmeter - 实现目标 JMeter 吞吐量值的限制
- python-3.x - 如何正确翻译 sqlalchemy 查询
- xamarin.forms - 在 webview 视频通话中切换摄像头
- python - 黑屏基维