📜  Express.js req.body 属性(1)

📅  最后修改于: 2023-12-03 15:14:57.396000             🧑  作者: Mango

Express.js req.body 属性

在使用 Express.js 构建 Web 应用程序时,req.body 是请求正文的解析结果,包含 key-value 对,其中的值可以是字符串或数组形式。

这个属性在处理 POST 请求时非常有用,在 POST 请求中,请求正文包含提交数据,req.body 对象可以让我们轻松地访问这些提交的数据。

例如:我们可以通过以下方式将表单数据保存在 req.body 中并访问它们:

<form method="POST" action="/">
  <input type="text" name="username">
  <input type="password" name="password">
  <button type="submit">提交</button>
</form>
const express = require('express')
const app = express()

// 解析请求正文中的数据
app.use(express.urlencoded({ extended: true }))

app.post('/', function(req, res) {
  console.log(req.body.username)
  console.log(req.body.password)
  res.send('表单提交成功!')
})

app.listen(3000)

在上面的代码中,我们通过解析请求正文中的数据将表单数据保存在 req.body 中。然后在路由处理函数中使用 req.body.username 和 req.body.password 访问表单数据。

需要注意的一点是,我们需要使用中间件解析请求正文,才能在请求处理函数中访问 req.body 属性。在上面的代码中,我们通过使用 express.urlencoded() 中间件来解析请求正文中的数据。

你还可以通过使用 JSON 解析中间件来支持客户端向服务器发送 JSON 格式的数据:

const express = require('express')
const app = express()

// 解析请求正文中的数据
app.use(express.urlencoded({ extended: true }))
app.use(express.json())

app.post('/', function(req, res) {
  console.log(req.body)
  res.send('提交成功!')
})

app.listen(3000)

在上面的代码中,我们添加了 express.json() 中间件解析 JSON 格式的数据。在路由处理函数中,我们可以通过 req.body 访问提交的数据。

总之,req.body 属性使我们可以轻松地访问客户端提交的数据,并使我们的代码更加简洁和易于维护。