我可以使用ExpressJS迭代查询字符串参数吗?

时间:2013-06-29 21:48:53

标签: node.js express

我知道如果我传递如下的网址:

http://localhost:3000/customer?companyid=300&customerid=200

然后我可以在ExpressJS中使用以下内容来提取数据:

res.send(util.format('You are looking for company: %s  customer: %s', req.query.companyid, req.query.customerid));

但是,我想迭代参数并处理它们而不必在我的查询中预定义它们。我似乎无法在Express API中找到任何似乎有用的东西(可能正好看它)。

http://localhost:3000/customer?companyid=300&customerid=200&type=employee

任何意见/建议都将不胜感激!

谢谢,

取值

2 个答案:

答案 0 :(得分:20)

在JavaScript中,您可以使用for循环查看对象的属性:

for (var propName in req.query) {
    if (req.query.hasOwnProperty(propName)) {
        console.log(propName, req.query[propName]);
    }
}

hasOwnProperty检查是为了确保该属性不是来自对象原型链。

答案 1 :(得分:8)

req.query只是一个对象,因此您可以像对待任何对象一样迭代它,例如。

for (var param in req.query) {
   console.log(param, req.query[param]);
}