Bird
0
0

Why does req.body remain undefined in this Express app?

medium📝 Debug Q14 of 15
Node.js - HTTP Module
Why does req.body remain undefined in this Express app?
const express = require('express');
const app = express();

app.post('/submit', (req, res) => {
  console.log(req.body);
  res.send('Done');
});

app.listen(3000);
ABecause the server is not listening on port 3000.
BBecause the route path is incorrect.
CBecause the app is missing middleware to parse the request body.
DBecause console.log cannot print req.body.
Step-by-Step Solution
Solution:
  1. Step 1: Check middleware usage

    The app does not use express.json() or express.urlencoded(), so request bodies are not parsed.
  2. Step 2: Understand req.body behavior

    Without parsing middleware, req.body is undefined because Express does not parse request bodies by default.
  3. Final Answer:

    Because the app is missing middleware to parse the request body. -> Option C
  4. Quick Check:

    Missing body parser middleware = D [OK]
Quick Trick: Always add body parser middleware to access req.body [OK]
Common Mistakes:
  • Assuming req.body is always available
  • Blaming route path or console.log
  • Ignoring middleware setup

Want More Practice?

15+ quiz questions · All difficulty levels · Free

Free Signup - Practice All Questions
More Node.js Quizzes