官方文档是这么说的,req.query,这个属性是一个对象,里面包含了路由中每一个查询字符串参数的属性,如果没有查询字符串,就是空对象,{}。
当我运行我的应用程序时,
app.use(function(req, res, next) {
req.query
console.log(req.query); // undefined
console.log(req.query()); // "a=3&b=2"
next();
});
那么 req.query 是一个名为 getQuery() 的函数,而不是一个对象,为什么?我的 Express 版本是 4.16.2。
我找到了问题的原因,因为需要'bpmn'包。这是我的测试代码:
const express = require('express'); const http = require('http'); const bpmn = require('bpmn');
让 app = express(); app.use(function(req, res, next) { console.log(req.query); //[函数:getQuery] next(); }); http.createServer(app).listen(8888, '0.0.0.0');
//node V8.9.0 //依赖项:“bpmn”:“^0.2.2”,“express”:“^4.16.2”