如何使用Express處理表單
以下是一個HTML表單的示例:
<form method="POST" action="/submit-form">
<input type="text" name="username" />
<input type="submit" />
</form>
當用戶按下提交按鈕時,瀏覽器會自動發送一個POST
請求到頁面所在的同源/submit-form
URL。瀏覽器會將數據編碼為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
來實現。