Как распечатать данные из почтового запроса на консоли

Я пытаюсь распечатать данные сообщения на моей консоли


app.js

var express = require('express')
 , http = require('http');

var app = express();

app.set('port', process.env.PORT || 7002);

app.use(express.static(__dirname + '/public/images'));


app.post('/Details/',function(request,response,next){


app.use(express.bodyParser());

   var keyName=request.query.Key;
   console.log(keyName);

} );


http.createServer(app).listen(app.get('port'), function(){
 console.log('Express server listening on port ' + app.get('port'));
});

Начальный снимок::

enter image description here


Я тестирую POST-MAN с данными ниже::

enter image description here


Теперь я получаю ошибку как::

enter image description here


  • Я просто хочу распечатать данные, полученные из почтальона, которые dev ..... который отображается как undefined?
  • Как решить это!

[Изменить] ---- Добавление анализатора тела за пределы маршрута

var express = require('express')
 , http = require('http');

var app = express();

app.set('port', process.env.PORT || 7002);

app.use(express.static(__dirname + '/public/images'));

app.use(express.bodyParser());

app.post('/Details/',function(request,response,next){

   var keyName=request.query.Key;
   console.log(keyName);

} );


http.createServer(app).listen(app.get('port'), function(){
 console.log('Express server listening on port ' + app.get('port'));
});

По-прежнему имеют ту же ошибку

Ответы

Ответ 1

Используйте request.query, если у вас есть параметры строки запроса.

Для данных формы/публикации используйте req.body.

В вашем случае используйте request.body.key.

Ответ 2

Вместо query:

var keyName=request.query.Key;
   console.log(keyName);

использовать body:

var keyName1=request.body.key;
console.log(keyName1);

код:

var express = require('express')
 , async = require('async')
 , http = require('http');

var app = express();

app.set('port', process.env.PORT || 7002);

app.use(express.static(__dirname + '/public/images'));

app.use(express.bodyParser());

app.post('/Details/',function(request,response,next){

   var keyName1=request.body.key;
   console.log(keyName1);
} );


http.createServer(app).listen(app.get('port'), function(){
 console.log('Express server listening on port ' + app.get('port'));
});

Ответ 3

var express = require('express');
var app = express();

app.use(express.bodyParser());

app.post('/post/', function(req, res) {
   // print to console
   console.log(req.body);

   // just call res.end(), or show as string on web
   res.send(JSON.stringify(req.body, null, 4));
});

app.listen(7002);

Ответ 4

Обновление использования промежуточного программного обеспечения body-parser для более поздних версий Express: Использование app.use(express.bodyParser()) сообщит об ошибке, например: Ошибка. Большинство промежуточных программ (например, bodyParser) больше не связаны с Express и должны устанавливаться отдельно. См. https://github.com/senchalabs/connect#middleware.

Это можно решить, предварительно установив body-parser промежуточное ПО:

npm install body-parser

тогда напишите код, например:

var bodyParser = require('body-parser');
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));

а затем доступ к body объекта request, например console.log(req.body)

Ответ 5

Вы не можете вызвать app.use(express.bodyParser()); внутри промежуточного/маршрутного обработчика:

  • запрос должен пройти через bodyParser() до того, как он достигнет обработчика маршрута.
  • вы добавите новый bodyParser() в каждый запрос, но они будут после app.router и никогда не будут работать

Ответ 6

Используйте встроенную функцию "util" для печати любого типа данных JSON в Express JS

var util = require("util");
console.log(util.inspect(myObject, {showHidden: false, depth: null}));