1

当我做:

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

输出不如预期。

这里有什么问题?

4

2 回答 2

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 ) );
于 2013-08-09T20:45:35.527 回答
0

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

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

于 2013-08-09T19:03:17.083 回答