At get request request.body.id is equal to undefined.

BodyParser is connected, tried to throw a query in different ways (/: id, / id, /? Id = ***), but with each result undefined.

A piece of code from server.js

var express = require('express'); var app = express(); var bodyParser = require('body-parser'); ........ app.use(bodyParser.urlencoded({extended: true})); app.use(bodyParser.json()); ........ app.use(function(req,res,next) { res.setHeader('Access-Control-Origin', '*'); res.setHeader('Access-Control-Allow-Methods', 'GET, POST'); res.setHeader('Access-Control-Allow-Headers', 'X-Requested-With,content-type, \ Authorization'); next(); }); ........ var apiRoutes = require('./app/routes/api')(app, express); app.use('/api', apiRoutes); 

A piece of code from /app/routes/api.js

 var mongoose = require('mongoose'); var Page = require('../models/page.js'); var adminUser = require('../models/admin-users.js'); module.exports = function (app, express) { var apiRouter = express.Router(); ........ /** * delete a single page */ apiRouter.get('/pages/delete/:id', function (request, response) { var id = request.body.id; Page.remove({ _id: id }, function (err) { return console.log(err); }); return response.send('Page id- ' + id + 'has been deleted'); }); /** * displaying a single record */ apiRouter.get('/pages/admin-details/:id', function (request, response) { var id = request.body.id; Page.findOne({ _id: id }, function (err, page) { if (err) { return console.log(err); } return response.send(page); }); }); //return apiRouter to app return apiRouter; }; 

When debugging in both functions of the router on the line

 var id = request.body.id; 

id is undefined.

The request.body itself is serviceable.

  • And why did you decide that the value of the route will fall into req.body ? It should not go there. - Dmitriy Simushev

1 answer 1

URL parameter values ​​should be read as follows:

 var id = request.params.id; 

Documentation: http://expressjs.com/en/api.html#req.params

  • I think it's worth adding a link to the expressjs.com/en/4x/api.html#req.params documentation - Dmitriy Simushev
  • @DmitriySimushev Thanks, added a link to the always up-to-date version of the documentation. - Dmitry Shevchenko
  • Thank you, problem solved. I will re-read the documentation. - Vlad Morzhanov