express 无法从 url 获取查询参数 [重复]
Posted
技术标签:
【中文标题】express 无法从 url 获取查询参数 [重复]【英文标题】:express can`t get query param from url [duplicate] 【发布时间】:2018-10-10 07:38:49 【问题描述】:我在前端应用程序上使用express
框架和react
来管理节点应用程序上的http 请求。一个有方法:
app.get('/api/matches', async (req, res) =>
console.log(req.originalUrl); // /api/matches/
console.log(req.query); //
...
当我使用像http://localhost:3000/matches?id=123
这样的url 时,我希望在req.query
对象中得到id
,但我得到的是空的 对象。我还尝试检查
express
如何使用originUrl
对象查看url,它在没有query ?id=123
的情况下返回。
【问题讨论】:
您使用的是http://localhost:3000/matches?id=123
,而不是http://localhost:3000/api/matches?id=123
。这是笔误吗?
【参考方案1】:
您需要使用您的网址,例如http://localhost:3000/api/matches/?id=123
。注意api
这个词。这是因为您的 GET 路由具有 /api/matches
,并且请求将查找路径 /api/matches
。进行这种更改将对您有用。然后通过该更改,您将能够将req.query
设为id: 123
【讨论】:
这对于 Express 版本4.16.2
来说是不正确的。无论是否使用最后一个正斜杠发送请求,我都可以成功获取查询参数。
@Hkan 编辑了我的答案以上是关于express 无法从 url 获取查询参数 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
如何从服务器端 express/mongo/mongoose 中的 URL,客户端的 axios/react/redux 中获取参数 ID