当我在路线上设置会话并尝试在另一条路线中访问它时,会话为空。
帐户路线:
router.post('/login', function(req, res){
res.setHeader('Access-Control-Allow-Credentials', 'true')
req.session.user = req.body._email;
res.send({error: false});
});
在这里,它是空的。用户路线:
router.get('/me', function(req, res){
if(!req.session.user){
res.status(500).send({error:true})
}else{
res.send({user: req.session.user})
}
});
我正在使用快递会话。 在我的App.js中:
app.use(session({
secret: 's3cr3t',
name : 'myName'
})
);
app.use(bodyParser.json());
app.use(validator());
express.bodyParser()!
app.use(bodyParser.urlencoded({extended: true}));
app.use('/user', user);
app.use('/account', account);
app.use('/assets', express.static(__dirname +'/public/assets'));
在mocha上试试
it('should create session', function(done) {
chai.request(server)
.post('/api/v1/account/login')
.send({_email: 'test@test.com', _password: 'testtest'})
.end(function(err, res){
chai.request(server)
.get('/api/v1/user/me')
.end(function(err, res2){
res2.should.have.status(200);
done();
});
});
});
总是返回状态500.我已经在我的控制台上打印了req.session并且它是空的。