【问题标题】:How to map two different routes to the same Router如何将两条不同的路由映射到同一个路由器
【发布时间】:2019-11-04 11:46:13
【问题描述】:

我在server.js 有两条路线:

  app.use("/credit/success", require("./credit/credit-handler"));
  app.use("/credit/fail", require("./credit/credit-handler"));

还有credit-handler

const express = require("express");
const router = express.Router();

// @route  GET credit success
// @desc   Get credit success screen
// @access Public

router.get("/success", async (req, res) => {
  try {
    res.sendFile("./credit/SuccessTransaction.html");
  } catch (err) {
    console.error(err.message);
    res.status(500).send("Server Error :" + err.message);
  }
});

// @route  GET credit failure
// @desc   Get credit fail screen
// @access Public

router.get("/fail", async (req, res) => {
  try {
    res.sendFile("./credit/FailTransaction.html");
  } catch (err) {
    console.error(err.message);
    res.status(500).send("Server Error :" + err.message);
  }
});

module.exports = router;

如何将请求 /credit/success 引用到 success 函数,以及 请求/credit/fail 到路由器中的fail 函数?

【问题讨论】:

  • 我认为您可以将中间件更新为端点 /credit。从 server.js 文件中删除 /success 和 /fail

标签: javascript node.js express url-routing


【解决方案1】:

只需更新下面提到的 server.js 中间件使用:

app.use("/credit", require("./credit/credit-handler"));

然后你可以通过访问i.e来访问端点

/credit/success
/credit/fail

【讨论】:

    【解决方案2】:

    在 server.js 中你需要一行:

    app.use("/credit", require("./credit/credit-handler"));
    

    这将添加到“/credit”路径中,无论您在 credit-handler 中拥有什么

    【讨论】:

      猜你喜欢
      • 2015-09-29
      • 2014-05-23
      • 2016-01-16
      • 2016-12-12
      • 2018-10-20
      • 1970-01-01
      • 2019-03-29
      • 2019-12-25
      • 2016-10-13
      相关资源
      最近更新 更多