从请求中获取信息

从请求 URL 获取信息(注意 req 是路由处理函数中的请求对象)。考虑这个路线定义 /settings/:user_id 和这个特殊的例子 /settings/32135?field=name

// get the full path
req.originalUrl // => /settings/32135?field=name

// get the user_id param
req.params.user_id // => 32135     

// get the query value of the field
req.query.field // => 'name'

你也可以像这样获取请求的标头

req.get('Content-Type')
// "text/plain"

为了简化获取其他信息,你可以使用中间件。例如,要获取请求的正文信息,可以使用正文解析器中间件,它将原始请求主体转换为可用格式。

var app = require('express')();
var bodyParser = require('body-parser');

app.use(bodyParser.json()); // for parsing application/json
app.use(bodyParser.urlencoded({ extended: true })); // for parsing application/x-www-form-urlencoded

现在假设这样的请求

PUT /settings/32135
{
  "name": "Peter"
}

你可以像这样访问发布的名称

req.body.name
// "Peter"

以类似的方式,你可以从请求中访问 cookie,你还需要一个像 cookie-parser 这样的中间件

req.cookies.name