フォームを操作する場合、Express で POST フォーム フィールドにアクセスするのは簡単なプロセスです。ただし、Express バージョンの微妙な変更により、アプローチにいくつかのバリエーションが導入されました。
Express 4.16.0 以降、POST フォーム フィールドへのアクセスは、次の導入により簡素化されました。 Express.json() と Express.urlencoded の。これらのミドルウェア関数は、それぞれ JSON と URL エンコードされた本文を解析します。
このアプローチを使用するには、Express:
$ npm install express
をインストールし、Express アプリケーションに次のミドルウェアを含めます:
app.use(express.json()); // to support JSON-encoded bodies app.use(express.urlencoded()); // to support URL-encoded bodies
これらのミドルウェアが配置されると、req.body を使用して POST フォーム フィールドにアクセスできるようになります。 object:
// assuming POST: name=foo&color=red <-- URL encoding // // or POST: {"name":"foo","color":"red"} <-- JSON encoding app.post('/test-page', function(req, res) { var name = req.body.name, color = req.body.color; // ... });
Express 4.16.0 より前では、POST フォーム フィールドの処理には、body-parser パッケージのインストールとそのミドルウェアの使用が必要でした。
$ npm install --save body-parser
Express アプリケーションに次の内容を含めます行:
var bodyParser = require('body-parser') app.use( bodyParser.json() ); // to support JSON-encoded bodies app.use(bodyParser.urlencoded({ // to support URL-encoded bodies extended: true }));
この構成では、POST フォーム フィールドへのアクセスは Express 4.16.0 のアプローチと似ています:
app.post('/test-page', function(req, res) { var name = req.body.name, color = req.body.color; // ... });
注: Express.bodyParser() の使用は次のとおりです。推奨されません。express.json()、express.urlencoded()、およびexpress.multipart()を組み合わせて使用することと同等です。特にマルチパート エンコーディングのサポートが必要な場合を除き、express.bodyParser() は避けてください。これにはセキュリティ上の懸念が伴います。マルチパート エンコーディングについては、Express のドキュメントを参照してください。
以上がExpress.js の POST フォーム フィールドにアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。