Node.js/Express form post req.body not working

Solution 1:

<form id="myform" action="/" method="post" enctype="application/x-www-form-urlencoded">
  <input type="text" name="I_appear_in_req_body" id="mytext" />
  <input type="submit" id="mysubmit" />
</form>

The body of a HTTP post is a key/value hash of all the form controls with a name attribute, and the value is the value of the control.

You need to give names to all your inputs.

Solution 2:

It also due to content type. please see console.log(req) object.

'content-type': 'application/json; charset=UTF-8’  // valid.

'content-type': 'application/JSON; charset=UTF-8’  // invalid & req.body would empty object {}.

To check content type by console.log(req.is('json')) // return true/false

I think 'charset=UTF-8' is negligible in above.