在Express中处理表格的方法

62 阅读1分钟

如何使用Express处理表单

这是一个HTML表单的例子。

<form method="POST" action="/submit-form">
  <input type="text" name="username" />
  <input type="submit" />
</form>

/submit-form 当用户按下提交按钮时,浏览器会自动向页面同一原点上的POST 请求。浏览器发送包含的数据,编码为application/x-www-form-urlencoded 。在这个特定的例子中,表单数据包含username 输入字段的值。

表单也可以使用GET 方法发送数据,但你要建立的绝大多数表单都会使用POST

表单数据将在POST请求体中发送。

为了提取它,你将需要使用express.urlencoded() 中间件。

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

app.use(express.urlencoded({
  extended: true
}))

现在,你需要在/submit-form 路线上创建一个POST 端点,任何数据都可以在Request.body

app.post('/submit-form', (req, res) => {
  const username = req.body.username
  //...
  res.end()
})

不要忘了在使用数据之前验证它,使用express-validator