从请求的url中获取信息(注意,这req是路由的处理函数中的请求对象)。考虑此路线定义/settings/:user_id和此特定示例/settings/32135?field=name
// 得到完整的路径 req.originalUrl // => /settings/32135?field=name // 获取user_id参数 req.params.user_id // => 32135 // 获取字段的查询值 req.query.field // => 'name'
您也可以像这样获取请求的标头
req.get('Content-Type') // "text/plain"
为了简化获取其他信息的过程,您可以使用中间件。例如,要获取请求的主体信息,可以使用主体解析器中间件,它将中间请求主体转换为可用格式。
var app = require('express')(); var bodyParser = require('body-parser'); app.use(bodyParser.json()); // 用于解析application / json app.use(bodyParser.urlencoded({ extended: true })); // 用于解析应用程序/ x-www-form-urlencoded
现在假设这样的请求
PUT /settings/32135 { "name": "Peter" }
您可以像这样访问发布的名称
req.body.name // "Peter"
以类似的方式,您可以从请求中访问cookie,还需要像cookie-parser这样的中间件
req.cookies.name