Ich bin neu in NodeJS und Express.js lesen, die derzeit die folgenden Fehler von Express.js bekommen:Express.js POST-Fehler: Typeerror: kann Eigenschaft ‚Name‘ undefinierter
TypeError: Cannot read property 'name' of undefined
at C:\Users\jitheshlive\IdeaProjects\nodejs-express-start\server.js:37:31
at callbacks (C:\Users\jitheshlive\IdeaProjects\nodejs-express-start\node_modules\express\lib\router\index.js:161:37)
at param (C:\Users\jitheshlive\IdeaProjects\nodejs-express-start\node_modules\express\lib\router\index.js:135:11)
at pass (C:\Users\jitheshlive\IdeaProjects\nodejs-express-start\node_modules\express\lib\router\index.js:142:5)
at Router._dispatch (C:\Users\jitheshlive\IdeaProjects\nodejs-express-start\node_modules\express\lib\router\index.js:170:5)
at Object.router (C:\Users\jitheshlive\IdeaProjects\nodejs-express-start\node_modules\express\lib\router\index.js:33:10)
at next (C:\Users\jitheshlive\IdeaProjects\nodejs-express-start\node_modules\express\node_modules\connect\lib\proto.js:199:15)
at C:\Users\jitheshlive\IdeaProjects\nodejs-express-start\node_modules\body-parser\lib\read.js:107:5
at IncomingMessage.onEnd (C:\Users\jitheshlive\IdeaProjects\nodejs-express-start\node_modules\body-parser\node_modules\raw-body\index.js:136:7)
at IncomingMessage.g (events.js:260:16)
Mein Express.js Code ist wie folgt:
app.configure(function(){
app.use(express.logger());
app.use(express.static(__dirname + '/app'));
app.use(bodyParser.json());
app.engine('html',engines.underscore);
/*
Set views direcoctory. DO NOT set this with the static directory!.
*/
app.set('views', __dirname+'/app/views');
app.set('view engine', 'html');
app.set('PORT',config.server.port);
});
app.get("/", function(req,res){
res.render('index');
});
app.post("/webservice-1.0/rest/student/add/", function(req,res){
console.log(req.param.student.name);
console.log(req.param.student.address);
//res.render('index');
});
Ich benutze AngularJS in der Benutzeroberfläche, um die Daten zu übermitteln. Mein AngularJS Controller ist wie folgt:
mainApp.controller("addStudentController", function($scope,$http) {
var resData = {};
$scope.output = "";
var url = "/webservice-1.0/rest/student/add/";
$scope.addStudent = function(){
$http.post(url, $scope.student)
.success(function(data, status, headers, config) {
resData = angular.fromJson(data);
$scope.output = "Student entered successfully with unique Id "+resData.id;
}).error(function(data, status, headers, config) {
resStatus = status;
$scope.output = "Something went wrong. Please try again later."
});
}
});
Danke Mann. req.body.data.name hat für mich funktioniert. –