首先,我有以下路线:
route: '/list/:param1'
我将以下请求发送到服务器:
url: '/list/someParam?param2=foo¶m3=bar
之后,快递给了我需要的两个重要对象,req.url
和req.params
。
我想得到一个合并url和params的对象。我使用以下代码:
module.exports = function (req, res, next) {
var url = require('url');
var queryObject = url.parse(req.url, true).query;
console.log(queryObject);
console.log(req.params);
console.log(req.params.length);
}
所以记录如下:
{ param2: 'foo', param3: 'bar' }
[ param1: 'someParam' ]
0
现在,假设我不知道参数的名称,我需要一个包含req.url
和req.params
信息的对象。以下是我的问题:
1)我该怎么做才能得到类似的东西:
{ param1: 'someParam', param2: 'foo', param3: 'bar' }
2)为什么req.params
会记录类似数组的内容?如果它是一个数组,为什么它以0
作为它的长度返回?
提前致谢。
答案 0 :(得分:1)
req.query
而不是再次解析网址。toString
实现。您还可以使用req.param(name)