Node.jsモジュール「Express」でPOSTされたFORMデータを受け取る方法を入門者向けにサンプルコード付きでまとめました。
## FORMデータの受信
Node.jsモジュール「Express」では、urlencodedメソッドでPOSTされたFORMデータを受け取って処理できます。
## サンプルコード
サンプルプログラムのソースコードです。
■index.js(サーバー側)
// ポート番号
var port = 8080;
var express = require('express');
var app = express();
var body = require('body-parser');
app.use(body.urlencoded({extended:true}));
// POSTされたFORMデータの取得
app.post('/', function(req, res) {
for (key in req.body) {
console.log(key, '=', req.body[key]); // コンソール出力
}
res.end();
});
app.listen(port);
extendedがtrue の場合・・・デコーダーにqsライブラリを使用
extendedがfalse の場合・・・デコーダーにquerystring ライブラリを使用
## 実行手順
①ターミナル(Windowsならコマンドプロンプト)を開きます。
② 以下のコマンドを実行します。
※Webサーバー側の起動
node <index.jsのファイルパス>
| – | 注意事項 |
|---|---|
| ※1 | <index.jsのファイルパス>はindex.jsを配置した場所によって適宜変更 |
| ※2 | Windowsならカレントディレクトリは「C:\Users\ユーザー名」 |
③ 手順②とは別に、もう1つターミナル(Windowsならコマンドプロンプト)を開きます。
※クライアント側用
④ 以下のコマンドを実行します。(バイナリデータをHTTP送信)
※クライアント側でWebサーバーへアクセス
curl -X POST -d "servant[1]=Saver&servant[2]=Archer" http://localhost:8080/
⑤ 手順②で開いたターミナルに取得したPOSTデータが出力されます。
servant = [ 'Saver', 'Archer' ]
| – | 関連ページ |
|---|---|
| 1 | ■【Node.js入門】サンプル集と使い方まとめ |

コメント