Nodejs- Req.body undefined in post with express 4.x

express, node.js

Solution

Just ran into the same issue. It looks like I resolved my problem by moving my code to map routes after the urlencoded line. I am now seeing req.body in the post.

app.use(bodyParser.urlencoded({ extended: true }));


// Map routes
var controllers = require("./controllers");
controllers.init(app);

Problem

I am using a middleware `body-parser` to encoded the form values to get in req.body object. But as I debug my code, found out req.body is undefined. Here is my code ``` var express = require('express'); var app = express(); var bodyParser = require('body-parser'); app.use(bodyParser.urlencoded({ extended: false })); ``` Listen Post request ``` app.post('/newCategory', function (req,res) { //express attached the form encoded values into body var categoryName = req.body.categoryName; }); ``` Html Form ``` <form action="/newCategory" role="form" method="post" class="form-inline"> <input type="text" name="categoryName" placeholder="Category name" class="form-control" /> <input type="submit" value="New Category" class="btn btn-primary" /> </form> ```

Original source

Related problems