DRY

Web関連の技術の事、食事/お酒の事、旅行の事など

node.jsでreq.bodyが受け取れない件

またもや無駄に嵌ったので記載を。

express + ejsを使って

から入力されたデータをDBに格納するプログラムを作っていたのですが、入力された値(responce)がどうにも受け取れなくて困りました。

4 Jul 18:52:01 - [ERROR] TypeError
TypeError: Cannot read property '[VALUE]' of undefined

みたいなエラーが出るのです。。。

node-inspectorの右の変数リストを見ても、そもそもbodyが無い。。。
.ejsファイルの方を見直しても、name=""とはマッチしています。

でPOSTで受け取れない的な調べかたをしていたら、コチラの記事にぶつかりました。

express.bodyDecorderによって,req.bodyの中がオブジェクト化されたPOSTパラメータになります.

そういえば、何かエラーが出ていてコメントアウトしたような。。。再度確認してみると

4 Jul 18:55:59 - [ERROR] TypeError
TypeError: Object # has no method 'bodyDecoder'

やはり。。。

2011-05-01 20:39追記:同メソッドの名前が,express バージョン2.3.2時点でbodyParserに変更されているようです.

らしいのです。

でこいつを

app.use (express.bodyParser ());

のように変更したら無事res.bodyが取得できました。