express.query()的作用?

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();
    };
};
阅读 5.7k
1 个回答

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-...

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题