node.js+expressでPOSTパラメーターを取得する方法
Posted: Updated:
駄目っぽい?
むーん? node.jsつーかexpressで,GETメソッドはreq.queryでオブジェクト化されてるけど,POSTメソッドのパラメーターがreqだけじゃだめなのかな.
ふつうにPOSTを受け取る
var app = express.createServer();
app.post('/post', function(req, res) {
console.log(req);
});
このreqの中に,POSTっぽいものは含まれていません.
イベントで受け取ってるみる
app.post('/post', function(req, res) {
req.on('data', function(chunk) {
console.log(chunk);
});
});
こうすると,chunkの中はPOSTされたデータです.なるほど.しかし・・・.
これでOK
GETみたいにオブジェクト化されんものかと思ったら.
express.bodyDecorder
app.use(express.bodyDecoder());
app.post('/post', function(req, res) {
console.log(req.body);
});
express.bodyDecorderによって,req.bodyの中がオブジェクト化されたPOSTパラメータになります.
2011-05-01 20:39追記:同メソッドの名前が,express バージョン2.3.2時点でbodyParserに変更されているようです.
参考
参考にするつもりだったのに,ななめ飛ばし読みすぎて気づかなかった.orz