POST query parameters are sent by HTTP clients for example by forms, or when performing a POST request sending data.

How can you access this data?

If the data was sent as JSON, using Content-Type: application/json, you will use the express.json() middleware:

const express = require('express')
const app = express()

app.use(express.json())

If the data was sent using Content-Type: application/x-www-form-urlencoded, you will use the express.urlencoded() middleware:

const express = require('express')
const app = express()

app.use(express.urlencoded())

In both cases you can access the data by referencing it from Request.body:

app.post('/form', (req, res) => {
  const name = req.body.name
})

Note: older Express versions required the use of the body-parser module to process POST data. This is no longer the case as of Express 4.16 (released in September 2017) and later versions.


Download my free Express.js Handbook!


And check out my in-depth, practical Node.js Course!

(50% off with the coupon code POSITIVEVIBRATIONS)

⤴️⤴️⤴️