Node JS - Express.js使用多个参数进行查询

时间:2015-06-22 10:54:08

标签: javascript node.js express

我是JavaScript和Node JS的新手,我有这样的情况。当我尝试使用单个参数调用get express.js时,一切正常,但当我尝试使用多个参数调用get时,它会修剪查询。 例如,我有这样的调用和功能

app.get('path/data', myFunc);
// in another file
function myFunc(req, res) {
    // do some stuff
}

当网址为path/data?id=5path/data?name=foo时,一切都很好。但是当我在myFunc中使用例如path/data?id=5&name=foo之类的网址时,我会将网址设为path/data?id=5。所以我得到了网址的第一部分 - &之前的标志。

现在我做错了什么?有什么东西我不见了吗?如何在myFunc中获取整个网址而不进行修剪?

2 个答案:

答案 0 :(得分:1)

我发现了问题。我是通过curl请求的,结果是如果网址中有&,则shell命令会修剪。所以不需要像这样添加引号

curl "path/data?id=5&name=foo"

答案 1 :(得分:1)

使用

app.get('path/data?:id?:name')

要检索这些值,请使用req.query.idreq.query.name

要访问REST API,您需要点击: http://localhost:8080/demo?id=3&name=stack

因此,您可以在api中添加多个参数。

希望这有帮助。