【问题标题】:How to redirect user to a different path on the same domain with a click of a button in express?如何通过单击快速按钮将用户重定向到同一域上的不同路径?
【发布时间】:2019-10-04 12:22:26
【问题描述】:

我正在创建一个简单的 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>

我想通过单击按钮将他们重定向到网站。有什么想法吗?

【问题讨论】:

    标签: javascript node.js express routes


    【解决方案1】:

    您可以在节点中使用res.redirect

    你需要有 2 条路线:

    1 渲染

    “en”文件

    和 1 渲染

    “pl”文件

    【讨论】:

      【解决方案2】:

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

      我想这会解决你的问题。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-08-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多