Как перенаправить пользователя на другой путь в том же домене одним нажатием кнопки в экспресс? - PullRequest
1 голос
/ 17 мая 2019

Я создаю простое веб-приложение и хочу иметь возможность перенаправить пользователя по другому пути в моем проекте одним нажатием кнопки.У меня есть две одинаковые версии сайта на английском и польском языках.Я использую экспресс в узле JS и динамической маршрутизации.И в тот момент, когда я нажимаю кнопку, он просто добавляет путь поверх уже существующего пути, ведущего в никуда.Простите, если это проблема новичка, я не могу понять, почему это происходит.

Мой код в бэкэнде выглядит так:

app.get("/stand/:lang/:id", function(req, res){

  const requestedLang = req.params.lang;
  const requestedId = req.params.id;
  if (requestedLang === 'en' && requestedId === "1"){
    res.render("stand1en");
  } else if (requestedLang === 'pl' && requestedId === "1") {
    res.render("stand1");
  }
});

Мой интерфейс и кнопкивыглядит так:

<a href="/stand/pl/1" class="btn btn-primary my-2 my-sm-0 button-polish">Polski</a>
      <a href="/stand/en/1" class="btn btn-primary my-2 my-sm-0 button-english">English</a>

Я бы хотел перенаправить их на сайт одним нажатием кнопки.Есть идеи?

Ответы [ 2 ]

0 голосов
/ 17 мая 2019

Вы можете использовать функцию expressjs res.redirect, которая перенаправляет на URL-адрес, полученный по указанному пути.

app.get("/stand/:lang/:id", function(req, res){

 const requestedLang = req.params.lang;
 const requestedId = req.params.id;
 if (requestedLang === 'en' && requestedId === "1"){
    res.redirect("link to the page1!");
 } else if (requestedLang === 'pl' && requestedId === "1") {
    res.redirect("link to the page2");
 }

});

Я думаю, что это решит вашу проблему.

0 голосов
/ 17 мая 2019

Вы можете использовать res.redirect в узле.

Вам нужно иметь 2 маршрута:

1, отображающий

"en" file

и 1, отображающие

"pl" файл

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