【问题标题】:How to use ? as separator in webservice url如何使用 ?作为 web 服务 url 中的分隔符
【发布时间】:2020-03-25 13:56:46
【问题描述】:

使用 nodejs / express,我正在尝试使用?将 url 与参数分开,然后 & 作为参数分隔符。

当使用它时,它可以工作

app.get("/tableref/:event/:queryObject", function(req, res) {})

或者这个也可以

app.get("/tableref:event&:queryObject", function(req, res) {})

但不是这个,我收到 404 错误:

app.get("/tableref?:event&:queryObject", function(req, res) {})

好像是?那就是问题所在。有没有办法授权?躲开它?

我想使用像this这样的快速验证器

谢谢

【问题讨论】:

标签: javascript node.js express


【解决方案1】:

要从 query string 获取价值,您无需在 Express 路由中指定那些 query string parameters

您的代码应如下所示

app.get("/tableref", function(req, res) {
  res.json(req.query)
});

当您输入 URL localhost/tableref?hello&world 时,您将收到回复 {"hello": "", "world": ""}

如果你想将数据传递给query string变量,你也可以输入URLlocalhost/tableref?hello=world&foo=bar,你会得到{"hello": "world", "foo": "bar"}的响应

【讨论】:

  • 似乎不起作用。我仍然有 404 错误与 \ 转义
  • @dtdino 对前面的代码感到抱歉。这是我的错。现在我的代码已更新,我相信它可以解决您的问题并为您工作。请再次测试并告诉我它现在是否有效。
  • 是的,它可以工作,这就是我想要更改以实现这样的 express-validator tinaciousdesign.com/blog/express-route-param-validation-nodejs 之前所拥有的。所以这不是我真正想要的。
猜你喜欢
  • 2010-10-05
  • 1970-01-01
  • 1970-01-01
  • 2013-07-07
  • 1970-01-01
  • 2011-03-29
  • 2014-04-08
  • 1970-01-01
相关资源
最近更新 更多