Expressでのフォームの処理

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 }))

今、あなたは作成する必要がありますPOSTのエンドポイント/submit-formルート、およびすべてのデータはで利用可能になりますRequest.body

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

を使用して、使用する前にデータを検証することを忘れないでくださいexpress-validator

私の無料ダウンロードExpress.jsハンドブック


より明確なチュートリアル: