angular色http发布数据对象不被节点服务器视为对象

我使用angular度在客户端执行一个职位的用户对象的服务器。 这个用户对象只是让我在一个对象中传递所有的用户信息,用户名,密码,电子邮件,名字等。 而不必将每个作为一个单独的variables。

我在chrome的开发人员工具中看到以下POST参数。

{"username":"adfasdfasdf","password":"12123123123"} 

但是,在我的服务器端js数据来作为单独的variables。 而不是具有用户名和密码的对象。 因此,console.log('userData ='+ userData)行logging用户名。 而“完成”variables包含密码。

为什么我没有得到服务器端的对象?

客户端HTML

 <form class="form-signin", ng-submit="register()"> <input type="text" class="form-control" placeholder="Username" ng-model="user.username"> <input type="password" class="form-control" placeholder="Password" ng-model="user.password"> </form> 

客户JS

  var pollControllers = angular.module('pollControllers', []); pollControllers.controller('RegisterCtrl', ['$scope', '$http', '$location', function($scope, $http, $location) { // This object is filled by the form $scope.user = {}; $scope.register = function() { $http.post('http://xx.xx.xxx.xxx:3000/register', $scope.user); } } ]); 

SERVER JS

 module.exports = function(passport) { function(userData, done) { console.log('userData = ' + userData); // !this outputs the username! console.log('done = ' + done); // !this outputs the password! } } 

护照本地获取第一个参数作为用户名,第二个参数作为密码,第三个作为callback。

 passport.use(new LocalStrategy( function(username, password, done) { User.findOne({ username: username }, function (err, user) { if (err) { return done(err); } if (!user) { return done(null, false); } if (!user.verifyPassword(password)) { return done(null, false); } return done(null, user); }); } )); 

护照本地Github页面