NodeJS-Express Middleware:body-parserとreq.body
1305 ワード
req.body:postリクエストに含まれるデータを返します.デフォルトはundefinedで、body-parserで解析する必要があります.
postメソッド4つの一般的なContent-Type:アプリケーション/www-form-urlencoded:一般的なフォーム発注方式 multipart/form-data:送信ファイル アプリケーション/json:json形式でデータを送信(text/plain stringをjsonに変換) text/xml:xml形式でデータを送信(WeChat) body-parserでは4つの解析方式が提供されています bodyParser.json(options)// bodyParser.raw(options)/解析バイナリフォーマット(bufferストリームデータ) bodyParser.text(options)/解析テキストデータ bodyParser.urlencoded(options)/utf-8の符号化を解析するデータoptionsオプション値でよく使われるextended:falseに設定すると、querystringライブラリを使用してURL符号化されたデータを解析し、キー値ペアの中値はStringまたはArrayである.trueを設定すると(デフォルト)、qsライブラリを使用してURL符号化データが解析され、キー値ペアの値は任意のデータ型になります. ex1
postメソッド4つの一般的なContent-Type:
var express = require('express');
var bodyParser = require('body-parser');
var app = express();
var jsonParser = bodyParser.json();
var urlencodedParser = bodyParser.urlencoded({extended:false});
app.post('/home',urlencodedParser, function(req, res) {
if(!req.body) return res.sendStatus(400);
res.send('Welcome ' + req.body.username);
});
app.post('/about',jsonParser, function(req, res) {
if(!req.body) return res.sendStatus(400);
res.send('Welcome ~ ' + req.body.username);
})
app.listen(3000);