2013-06-29 78 views
4

我知道,如果我通过一个URL像下面:我可以使用ExpressJS遍历查询字符串参数吗?

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)); 

但是,我想遍历参数并处理它们,而不必在我的查询中预定义它们。我似乎无法找到快速API中的任何东西,似乎工作(可能看起来正确)。

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

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

感谢,

小号

回答

17

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

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

hasOwnProperty检查,以确保该财产的对象原型链是没有的。

+2

感谢@adamse ....我喜欢hasOwnProperty检查。 – scarpacci

6

req.query只是一个对象,所以你可以像你将任何物体,如迭代它

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

oh duhh ....谢谢我应该意识到....赞赏回应。 – scarpacci

相关问题