JP Coders

Published on

express.jsでPOSTデータ(body)を取得しようとすると TypeError Cannot read property xx of undefined

node.js言語のHTTPウェブサーバーライブラリ、express.jsにおいて、POSTデータ(body)を取得しようとすると TypeError: Cannot read property xx of undefined のエラーが出る場合があります。

express.jsにhttp postをリクエストボディつきで送ると、TypeError: Cannot read property xx of undefinedエラーになります。

curl http://192.168.0.110:8111/config -X POST -d 'content=hogehogehoge'

まずパッケージをインストールします

npm install --save body-parser

以下を追記します。

var bodyParser = require('body-parser')
app.use( bodyParser.json() );       // to support JSON-encoded bodies
app.use(bodyParser.urlencoded({     // to support URL-encoded bodies
  extended: true
})); 

これで、req.body.valueでhttp postのデータが取得できるようになりました。 以下では上記のcurlの通り、contentを取得するためにreq.body.contentをしています。

app.post('/config', async (req, res, next) => {
  try {

    console.log(req.body.content) ; 

    res.send("something here.")

    next();
  } catch (error) {
    next(error);
  }

});

express.jsのバージョンによってはやり方が変わるようです。

javascript - How to retrieve POST query parameters? - Stack Overflow
Authors
  • avatar
  • Name
  • 情報技術者 / Z世代プログラマー / 米大学院にてデータサイエンスを学ぶ

  • ITプロフェッショナルとして活動しています。React.js等のモダンなウェブ制作・アプリ開発を得意としており、Java・Python・Rust等のプログラミング言語を用いたソフトウェア開発全般を行っています。

お手伝いできますか? 🤝

他の方法でのご連絡をご希望ですか?
web制作ご依頼受付中

本記事で掲載している情報やコードは執筆時点のものであり、動作を保証するものではありません。 自己責任のもと、プログラムの実行や情報の利用にあたってはご注意ください。


本記事には提携する企業の広告が含まれる場合があります。