Ответ 1
Используйте request.query, если у вас есть параметры строки запроса.
Для данных формы/публикации используйте req.body.
В вашем случае используйте request.body.key
.
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'));
});
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'));
});
Используйте request.query, если у вас есть параметры строки запроса.
Для данных формы/публикации используйте req.body.
В вашем случае используйте request.body.key
.
Вместо 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'));
});
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);
Обновление использования промежуточного программного обеспечения 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)
Вы не можете вызвать app.use(express.bodyParser());
внутри промежуточного/маршрутного обработчика:
bodyParser()
до того, как он достигнет обработчика маршрута.bodyParser()
в каждый запрос, но они будут после app.router
и никогда не будут работатьИспользуйте встроенную функцию "util" для печати любого типа данных JSON в Express JS
var util = require("util");
console.log(util.inspect(myObject, {showHidden: false, depth: null}));