如何将参数从Express传递到Angular 6?

时间:2018-10-13 02:34:26

标签: node.js express routing angular6

如何将参数从Express路由传递到A

`router.post('/login',
    passport.authenticate('local', { failureRedirect: '/login' }),
    function(req, res) {
        res.locals.username=req.user.username;
        res.redirect('/home');
    });`

这就是我在Express路线中所拥有的。我想将用户名从这里传递到我在Angular中完成的前端,然后回显它。

1 个答案:

答案 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/