URL-адрес не меняется с помощью res.render () - PullRequest
1 голос
/ 13 июля 2020

Мне нужно отправить список приложений после входа в механизм шаблонов e js с сервера с expressjs. Для этого я использую res.render(). Несмотря на то, что он отображает указанный файл, он не меняет URL-адрес. Что мне делать, чтобы перенаправить вместе с данными и внести изменения в url.

routes. js

const loginUser = requie('../Controller/LoginController');
router.post('/login', loginUser);

LoginController. js

const loginUser = (req, res) => {
    /* login code */
   res.render('apps/app-list', {
     title: 'Application List',
     isLoggedIn: true
   });
};

После Успешный вход в систему, он отображает содержимое apps/app-list, но URL-адрес все еще users/login.

1 Ответ

0 голосов
/ 15 июля 2020

Если вы пытаетесь отправить данные, вы должны отобразить страницу, вот пример из части моего приложения:

app.get("/myfood", ensureAuthenticated, (req, res) => {
    Food.find({}, (error, allfood) => {
        if(error) {
            console.log(error)
        } else {
            res.render("myfood", {food: allfood})
        }
    })
})

Итак, я отправляю все найденные продукты питания с запросом на получение. И вы можете отправить несколько объектов. Просто разделите их запятой.

Как я сказал в комментарии, вы не можете сделать то же самое, если хотите

res.redirect ()

Итак, в моем приложении я хотел отправлять сообщение fla sh, когда пользователь регистрируется. Здесь:

newUser.save()
  .then(user => {
       req.flash("sucess_msg", "Thank you for registering.")
       res.redirect("/login");
  })

Вы можете немного поискать на YouTube, как использовать req.fla sh (), есть пара отличных руководств. Я узнал об этом от Брэда Трэверси, приложение паспортного узла.

Это почти все, что я могу вам сказать. req.fla sh () определяется в глобальной переменной

app.use((req, res, next) => {
    res.locals.sucess_msg = req.flash("sucess_msg");
    res.locals.error_msg = req.flash("error_msg");
    res.locals.error = req.flash("error");
    next();
});

Попробуйте сделать то же самое и, возможно, go оттуда. Надеюсь, ты станешь на шаг ближе

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