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入門】サンプル集と使い方まとめ |
コメント