[英]Express 4 HTTP requests: user._id undefined
I'm writing a simple Express app to handle image uploads and searches. 我正在编写一个简单的Express应用程序来处理图像上载和搜索。 The upload works fine but the same req.user._id is invalid in the get request.
上载正常,但在get请求中相同的req.user._id无效。 Any idea why?
知道为什么吗?
//standard express-generator server.js requires
//passport.js implementation
var session = require('express-session');
app.use(session({
secret: '*****',
proxy: true,
resave: true,
saveUninitialized: true
}));
The post function works fine using Multer middleware . 使用Multer中间件可以很好地实现 post函数。 It uses req.user._id with no issues - I've checked that it's being uploaded to the database.
它使用req.user._id完全没有问题-我已经检查了它是否已上传到数据库。
app.post('/upload/photoData', upload.single('photo'), function(req, res) {
//Retrieve data from request using multer middleware objects
var title = req.body.title;
var description = req.body.description;
var photoURL = req.file.filename;
var date = new Date();
var user_id = req.user._id;
//Code to create Mongoose photo model instance using variables above and save
});
Immediately after I'm testing a get function that returns the following error: TypeError: Cannot read property '_id' of undefined 在测试返回以下错误的get函数后,立即: TypeError:无法读取未定义的属性'_id'
app.get('/file/newCalendar', function(req, res) {
var selectedDate = moment(req.query.m)//moment(req.query.m);
var selectedMonth = selectedDate.month()//selectedDate.month();
var user_idLookup = req.query.v;
if(!user_idLookup){
user_idLookup = req.user._id;
};
jsontest = {
'selectedDate': selectedDate,
'selectedMonth': selectedMonth,
'user': user_idLookup
};
})
Well I feel stupid now. 好吧,我现在觉得很蠢。 req.user was not defined because I was manually submitting the GET request before signing in/serializing user!
未定义req.user,因为我在登录/序列化用户之前手动提交了GET请求!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.