Javascript 在URL中发送数据后,node.js中出现的req.query为空
我想在用户登录后将其他数据推送到db,并使用Passport处理用户身份验证/会话。我在URL中正确地传递数据,当用户单击一个按钮时,它将重定向到包含所有数据的登录屏幕。出于某种原因,当我试图解析出品牌、图像和尺寸变量时,它给出了未定义的结果 以下是我传递URL的方式:Javascript 在URL中发送数据后,node.js中出现的req.query为空,javascript,node.js,request,passport.js,Javascript,Node.js,Request,Passport.js,我想在用户登录后将其他数据推送到db,并使用Passport处理用户身份验证/会话。我在URL中正确地传递数据,当用户单击一个按钮时,它将重定向到包含所有数据的登录屏幕。出于某种原因,当我试图解析出品牌、图像和尺寸变量时,它给出了未定义的结果 以下是我传递URL的方式: res.redirect('/login?brand='+ encodeURIComponent(brandToFind) + '&size=' + encodeURIComponent(size_result) + '
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');
}
});
我做错了什么 你的流动把我弄糊涂了。在哪里执行res.redirect('/login?brand=xx&size=yy')?服务器端?使用express?当它被执行时,在登录成功后?我想它应该是
app.get
而不是app.post