首页 > 解决方案 > 如何通过单击快速按钮将用户重定向到同一域上的不同路径?

问题描述

我正在创建一个简单的 Web 应用程序,并且我希望能够通过单击按钮将用户重定向到我的项目中的不同路径。我有两个相同版本的英语和波兰语网站。我在节点 js 和动态路由中使用 express。而在我点击按钮的那一刻,它只是将路径添加到已经存在的路径之上,导致无处可去。如果这是一个菜鸟问题,请原谅我,我似乎无法弄清楚为什么会这样。

我在后端的代码如下所示:

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>

我想通过单击按钮将它们重定向到网站。有任何想法吗?

标签: javascriptnode.jsexpressroutes

解决方案


您可以使用 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");
 }

});

我认为这将解决您的问题。


推荐阅读