我的快遞V4應用不會給我會話的正確值,而只是返回undefined
。我的應用程序是使用快速生成器構建和構建的,這是我的app.js文件。我的快遞請求會話在Express v4中保存爲undefined
var express = require('express'),
path = require('path'),
bodyParser = require('body-parser'),
routes = require('./routes/index'),
app = express(),
compression = require('compression'),
session = require('express-session');
// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'ejs');
app.set('view cache', true);
app.enable('trust proxy');
app.use(session({
secret: "Share3na Network!195",
resave: true,
saveUninitialized: true,
cookie: { secure: true, httpOnly: true }
}));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(compression());
app.use(express.static(path.join(__dirname, 'public')));
app.use('/', routes);
而這些是獲取會話值並將其發回的路由。
router.get('/getmask', function(req,res){
res.send(req.session.mask);
});
//GET the mask during event body load
router.get('/sendmask', function(req,res){
req.session.mask = striptags(emojiStrip(req.query.m));
});
在另一個路由時,我追加請求與會話值IP地址:req.ip() + req.session.mask
,什麼被保存在數據庫中的‘123.456.789undefined’
雖然'secure:true'是推薦的選項,它需要啓用https的網站,即HTTPS對於安全cookie是必需的。如果設置了安全,並且您通過HTTP訪問您的站點,則不會設置Cookie。 – dNitro
我認爲你應該使用cookie解析器模塊 https://github.com/expressjs/cookie-parser –
@dNitro我知道,我的網絡應用程序已經在HTTPS –