控制台输出req.params in node / express

时间:2013-08-09 18:47:40

标签: node.js express

当我这样做时:

console.log(req.params),输出:

[ id: "param1" ]

但是当我这样做时,console.log("Params:[%s]", req.params),会输出

[[]]

我也试过

 console.log("Params:[%j]", req.params),
 console.log("Params:[%s]", JSON.stringify(req.params)), 
 console.log("Params:" + req.params),

输出不如预期。

这里有什么问题?`

2 个答案:

答案 0 :(得分:3)

尝试require('util')。inspect()方法进行格式化。调用该方法的格式在0.10.0中更改,因此根据您所在节点的版本,您必须使用不同的节点文档。

以下是该函数的0.10.0版之前和之后的链接。

http://nodejs.org/docs/v0.8.25/api/util.html#util_util_inspect_object_showhidden_depth_colors http://nodejs.org/docs/v0.10.13/api/util.html#util_util_inspect_object_options

所以,你会做类似的事情:

console.log( require('util').inspect( req.params ) );

答案 1 :(得分:0)

这可能正在发生,因为req.params实际上不是一个对象,但它是一个函数。它是一个函数的原因是你可以req.params('name', 'default value')

来源:https://github.com/visionmedia/express/blob/master/lib/request.js#L283