Nodejs - req.body - undefined

I want to send some data to the server. The problem is that the server seems to be unable to receive data.

So my posting details:

name=hello&email=there&message=sometext 

and my server code is as follows:

 var url = require('url'), express = require('express'), http=require('http'), path = require('path'), nodemailer = require('nodemailer'); var app = express(); var server = http.createServer(app); app.engine('.html', require('ejs').__express); app.set('views', __dirname + '/views'); app.set('view engine', 'html'); app.use(express.static(path.join(__dirname, 'public'))); app.get('/', function(req, res){ res.render('home'); }); app.use(express.bodyParser()); app.post('/', function(req, response){ console.log(req.body); // console.log(request.body.name); }); server.listen(4000); console.log('server running ' + 'now ' + Date.now()); 

when running console.log(reg.body) the terminal output is "undefined"

+4
source share
2 answers

move app.use (express.bodyParser ())); ahead of app.use (express.static (.join path (__ dirname, 'public')));

0
source

All output query strings are processed by default using app.use(express.bodyParser()); .. A simple solution to your problem is trying to register req.query , something like

 console.log(req.query); 
+4
source

Source: https://habr.com/ru/post/1446750/


All Articles