Передача данных в мое представление e js при перенаправлении - PullRequest
0 голосов
/ 22 февраля 2020

Я пытаюсь отправить данные со своей страницы входа на мою домашнюю страницу, когда пользователь перенаправляет на домашнюю страницу, чтобы я мог использовать информацию в домашнем файле e js.

Здесь мой код:


    module.exports = function (app) {

        app.post('/login', function (req, res) {
            var data = {
                "email": req.body.email,
                "password": req.body.password
            }

            functions.callAPI("api link", data, function (error, result) {
                if (error) {
                    var response = {
                        "status": 400,
                        "message": error,
                        "data": null
                    }
                    res.render('login', { response: response });
                } else {
                    var response = result;
                    if (response.status === 400) {
                        res.render('login', { response: response });
                    } else {
                        req.session.token = response.data[0].token;
                        req.session.id = response.data[0].id
                        res.redirect('/home', { response: response }); //this is where i what to pass the data.
                    }
                }
            });


        });

    }

1 Ответ

1 голос
/ 22 февраля 2020

Если, скажем, обратный вызов вашего app.get ('/ home') имеет вид res.render ('home')

Изменить res.redirect('/home', { response: response });

на res.render('home', { response: response });

edit 1:

Поскольку ваш комментарий указывает, что ваш маршрут get ('/ home') не просто отображает home, сделайте это следующим образом:

В этом модуле обработка app.post ('/ login'), вместо того, чтобы включать в себя весь маршрут logi c, возвращает только обратный вызов, назовите его как loginCallback на сервере. js (или app. js или index. js)

И создайте другой модуль для возврата обратного вызова app.get ('/ home'), назовите его как homeCallback, заставьте принять еще один аргумент для ответа с параметром по умолчанию в качестве пустого объекта.

Теперь этот loginCallback будет вызывать homeCallback, передавая третий аргумент.

Это может достичь вашей цели.

...