session中使用session.user提示Cannot read property 'user' of undefined
var express = require('express');
var users = require('../models/users');
var cookieParser = require('cookie-parser');
var session = require('express-session');
var router = express.Router();
var app = express();
app.use(cookieParser());
app.use(session({
secret: '123AppShop456', // 建议使用 128 个字符的随机字符串
cookie: {
maxAge: 60 * 1000
},
resave: false,
saveUninitialized: true
}));
app.use(router)
router.get('/', function (req, res, next) {
res.send('respond with a resource');
});
router.get('/test', function (req, res, next) {
res.send('test');
});
router.get('/user', function (req, res, next) {
console.log(req.session)
if (req.session.user !== null) {
res.json({
status: '0',
msg: '',
result: {
userName: req.session.user
},
})
} else {
res.json({
status: '1'
})
}
});
router.post("/", function (req, res, next) {
var param = {
userName: req.body.userName,
pwd: req.body.password
}
users.findOne(param, function (err, doc) {
if (!err && !doc) {
res.json({
status: '1'
})
} else {
if (doc) {
req.session.user = doc.userName,
console.log(doc.userName, req.session.user)
res.json({
status: '0',
msg: '',
result: {
userName: doc.userName
}
})
}
}
})
});
module.exports = router;
想使用session用作登陆,但是始终提示Cannot read property 'user' of undefined。
目前google到的方法无效,router放后面都不行
不用session的代码正常无报错
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
下面用的是router,所以session注册点应该是router.use里