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
..... qui est affiché comme 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'));
});
Utilisez request.query lorsque vous avez des paramètres de chaîne de requête.
Pour les données de formulaire/post, utilisez req.body .
Dans votre cas, utilisez request.body.key
.
Au lieu de query
:
var keyName=request.query.Key;
console.log(keyName);
utiliser body
:
var keyName1=request.body.key;
console.log(keyName1);
Code:
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);
Une mise à jour sur l'utilisation du middleware, body-parser
, pour les versions ultérieures d'Express: Utiliser app.use(express.bodyParser())
signalera une erreur telle que: Erreur: La plupart des middleware (comme bodyParser) ne sont plus fournis avec Express et doivent être installés séparément. Veuillez consulter https://github.com/senchalabs/connect#middleware .
Vous pouvez résoudre ce problème en installant d’abord le body-parser middleware:
npm install body-parser
puis écrivez un code tel que:
var bodyParser = require('body-parser');
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
et ensuite accéder à la body
de l'objet request
, par exemple, console.log(req.body)
Vous ne pouvez pas appeler app.use(express.bodyParser());
dans le gestionnaire de middleware/route:
bodyParser()
avant d'atteindre le gestionnaire d'itinérairebodyParser()
s dans chaque demande, mais elles seront postérieures à app.router
et ne fonctionneront jamaisUtilisez la fonction intégrée "util" pour imprimer tout type de données json dans Express js
var util = require("util");
console.log(util.inspect(myObject, {showHidden: false, depth: null}));