Как передать параметр из Express в Angular 6? - PullRequest
0 голосов
/ 13 октября 2018

Как я могу передать параметр из экспресс-маршрута в 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 голосов
/ 13 октября 2018

Вы должны вернуть 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);
});

I на основе Паспорт Документы в разделе Аутентификация / Пользовательский обратный вызов : http://www.passportjs.org/docs/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...