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
..... welche als undefined
angezeigt wird.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'));
});
Verwenden Sie request.query , wenn Sie Paras überstringen möchten.
Für Form/Postdaten verwenden Sie req.body .
Verwenden Sie in Ihrem Fall request.body.key
.
Anstelle von query
:
var keyName=request.query.Key;
console.log(keyName);
verwenden Sie 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);
Ein Update zur Verwendung der Middleware body-parser
für spätere Versionen von Express: Die Verwendung von app.use(express.bodyParser())
meldet einen Fehler wie: Fehler: Die meisten Middleware (wie bodyParser) werden nicht mehr mit Express ausgeliefert und müssen separat installiert werden. Siehe https://github.com/senchalabs/connect#middleware .
Dies kann durch die Installation der body-parser middleware behoben werden:
npm install body-parser
dann schreibe Code wie:
var bodyParser = require('body-parser');
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
und dann auf die body
des request
-Objekts zugreifen, z. B. console.log(req.body)
Sie können app.use(express.bodyParser());
nicht im Middleware-/Routen-Handler aufrufen:
bodyParser()
durchlaufen, bevor sie den Routen-Handler erreichtbodyParser()
s hinzufügen, die jedoch nach app.router
stehen und nie funktionieren werdenVerwenden Sie die integrierte Funktion "util", um jede Art von Json-Daten in Express-Js zu drucken
var util = require("util");
console.log(util.inspect(myObject, {showHidden: false, depth: null}));