【问题标题】:Completely Exact Urls In Express [duplicate]Express中完全准确的网址[重复]
【发布时间】:2020-07-13 20:18:47
【问题描述】:

如何在我的 express 项目中使用问号,例如:

app.get("/", (request, response) => {
  response.sendFile(__dirname + "/views/index.html");
});


app.get("/?no-header", (request, response) => {
  response.sendFile(__dirname + "/views/noheader.html");
});

【问题讨论】:

  • 查询字符串不是 express 使用的路由 path 的一部分,因此在您的示例中,两个请求都将在一个函数中处理。查询字符串值在 request.query 对象中可用。

标签: node.js express


【解决方案1】:

在与 Express 路由进行比较之前,会从路径中删除查询字符串。因此,上述两个 URL 都将转到第一个请求处理程序。如果您想将这两者分开,您可以通过检查request.query 在同一个请求处理程序中执行此操作:

app.get("/", (request, response) => {
  if (request.query.hasOwnProperty("no-header")) {
      // ?no-header is present
      response.sendFile(__dirname + "/views/noheader.html");
  } else {
      response.sendFile(__dirname + "/views/index.html");
  }
});

【讨论】:

    猜你喜欢
    • 2017-09-21
    • 1970-01-01
    • 2018-09-13
    • 1970-01-01
    • 2021-07-29
    • 2021-08-18
    • 2013-05-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多