我希望在用户登录后将其他数据推送到数据库,并使用Passport处理用户身份验证/会话。我正在URL中正确传递数据,当用户点击按钮时,它会被重定向到包含所有数据的登录屏幕。出于某种原因,当我尝试解析品牌,图像和大小变量时,它给了我未定义的。
以下是我传递网址的方式:
res.redirect('/login?brand='+ encodeURIComponent(brandToFind) + '&size=' + encodeURIComponent(size_result) + '&image=' + encodeURIComponent(image_url));
当用户登录时,以下是名为的功能:
app.post('/login', passport.authenticate('local-login', {failureRedirect : '/login'}),
function(req,res) {
var user = req.user;
var brand = req.query.brand;
var size = req.query.size;
var image = req.query.image;
console.log("brand: "+ brand);
if (user) {
var email_user = user.local.email;
var user_id = user._id;
User.update({'local.email': email_user} , { $push: { 'favorite_shoes': { 'brand': brand, 'size': size, 'image_url': image}}} , function(error) {
if (error) return error;
console.log('Added %s with size=%s', brand, size);
});
req.flash('postAddFavs', 'Saved to Favorites!');
res.redirect('/favorites');
}
});
我做错了什么?