Node JS – Express.js通过多个参数来获取查询
我对JavaScript和Node JS很陌生,我有这样的情况。 当我尝试使用单个参数调用get
express.js
,一切正常,但是当我尝试使用多个参数调用get
时,它将修剪查询。 例如,我有这样的呼叫和function
app.get('path/data', myFunc); // in another file function myFunc(req, res) { // do some stuff }
当url是path/data?id=5
或path/data?name=foo
一切都很好。 但是当我使用例如像path/data?id=5&name=foo
url path/data?id=5&name=foo
在myFunc的URL我得到的path/data?id=5
。 所以我得到了url的第一部分 – 什么是之前&
签署。
现在我做错了什么? 有什么我失踪? 如何在myFunc
获取整个url而不被修剪?
我发现了这个问题。 我正在通过curl
请求,事实certificate,如果在url中有一个&
,shell命令修剪。 所以这里不需要添加引号
curl "path/data?id=5&name=foo"
使用
app.get('path/data?:id?:name')
为了检索值,使用req.query.id
和req.query.name
。
要访问REST api,您需要点击: http:// localhost:8080 / demo?id = 3&name = stack
所以,通过这个你可以在你的API中添加多个参数。
希望这可以帮助。