当我这样做时:
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),
输出不如预期。
这里有什么问题?`
答案 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