如何使用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 。