如何将参数从Express路由传递到A
`router.post('/login',
passport.authenticate('local', { failureRedirect: '/login' }),
function(req, res) {
res.locals.username=req.user.username;
res.redirect('/home');
});`
这就是我在Express路线中所拥有的。我想将用户名从这里传递到我在Angular中完成的前端,然后回显它。
答案 0 :(得分:1)
您应该返回 JSON 与重定向,并在前端捕获响应以呈现响应。
router.post('/login', function(req, res, next) {
passport.authenticate('local', function(err, user, info) {
if (err) {
return res.json({ error: err });
}
if (!user) {
return res.json({ error: 'Authentication failed' });
}
req.logIn(user, function(err) {
if (err) {
return res.json(err);
}
return res.json({ username: user.username });
});
})(req, res, next);
});
我基于身份验证/自定义回调部分中的护照文档: http://www.passportjs.org/docs/