Попытка понять аутентификацию пользователя для интеграции в мое веб-приложение. В качестве руководства я слежу за http://www.sitepoint.com/user-authentication-mean-stack/.
Я новичок, когда дело доходит до webdev, поэтому у меня возникают проблемы с поиском правильной вещи, чтобы исправить мою проблему. Проблема в том, что когда я пытаюсь зарегистрировать нового пользователя, мой объект не будет получен в моем контроллере api.
register.controller.js
(function () {
angular
.module('misplaced')
.controller('registerCtrl', registerCtrl);
registerCtrl.$inject = ['$location', 'authentication'];
function registerCtrl($location, authentication) {
var vm = this;
vm.onSubmit = function () {
authentication
.register(vm.credentials)
.error(function(err){
alert(err);
})
.then(function(){
$location.path('profile');
});
};
authentication.service.js
(function () {
angular
.module('misplaced')
.service('authentication', authentication);
authentication.$inject = ['$http', '$window'];
function authentication ($http, $window) {
register = function(user) {
return $http.post('/api/register', user).success(function(data){
saveToken(data.token);
});
};
authentication.js
module.exports.register = function(req, res) {
var user = new User();
user.name = req.body.name;
user.email = req.body.email;
user.setPassword(req.body.password);
user.save(function(err) {
var token;
token = user.generateJwt();
res.status(200);
res.json({
"token" : token
});
});
};
Через некоторый console.log я отслеживал, что объект создается отлично из register.controller и передается в authentication.service в порядке, но когда я пытаюсь console.log объект в файле authentication.js, он пуст. Может кто-нибудь помочь объяснить мне, что может случиться? Заранее спасибо!
Это звучит как проблема с конфигурацией Express, вы не можете использовать модуль bodyParser
в Express.
var bodyParser = require('body-parser');
var app = express();
app.use(bodyParser.json());
Это позволит вашему промежуточному программному обеспечению получить доступ к свойствам тела запроса в req.body
data
в обработчике успеха в вашемauthentication.service.js
?req.body
в вашем контроллере на стороне сервера, это возвращается как ноль?