我使用 node express 4.0 来实现消息代码验证功能。我使用 session 来存储我发送的 msg 代码。我按照dos说的设置了session中间件:</p>
app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({
extended: false
}));
app.use(cookieParser());
app.use(session({secret:'ssssss'}));
app.use(express.static(path.join(__dirname, 'public')));
app.use('/uploads', express.static(path.join(__dirname, 'uploads/temp')));
但是当我使用 post 方法获取 msg 代码时,我发现 session 没有设置成功。
像下面的这段代码:
router.post('/msgCode', function(req, res) {
req.session.test = 'test';
// request send msg code api then response
}
当我重新发布此路由器时,我发现req.session.test
未定义。
然后我在另一个路由器上试试这个:
router.get('/sendMsgTest', function(req, res) {
req.session.test = 'test';
res.json({
status:0
})
}
每次我请求sendMsgTest
,我都能得到req.session.test
。当我请求另一种get
方法时,我可以req.session.test
成功获得价值。
那么为什么我的 post 方法不起作用?