express.query()的具体作用看源码可以知道,是用来解析url的,但如果不使用这个中间件,req.query得到的结果也是一个解析好的。所以是不是4.x后不需要在使用express.query()了?
module.exports = function query(options) {
var opts = Object.create(options || null);
var queryparse = qs.parse;
if(typeof options === 'function') {
queryparse = options;
opts = undefined;
}
if(opts !== undefined && opts.allowPrototypes === undefined) {
// back-compat for qs module
opts.allowPrototypes = true;
}
return function query(req, res, next) {
if(!req.query) {
var val = parseUrl(req).query;
req.query = queryparse(val, opts);
}
next();
};
};
4.x后在用的,req.param()才没用了,被弃用了。
req.params获取pathinfo中参数 /api/users/:id
req.query获取url的查询参数 /api/users?name=wwx
req.body获取form提交参数
第一个是get,第三个是post,第二个就不一定了。
可以参考这个:http://i5ting.github.io/node-...