Экспресс не отправка объекта из Сервиса на контроллер API

0

Попытка понять аутентификацию пользователя для интеграции в мое веб-приложение. В качестве руководства я слежу за 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, он пуст. Может кто-нибудь помочь объяснить мне, что может случиться? Заранее спасибо!

  • 0
    что вы видите в консоли, если вы регистрируете data в обработчике успеха в вашем authentication.service.js ?
  • 0
    Ах, хорошо, я просто перечитал ваш вопрос, так что я думаю, что если вы попытаетесь console.log req.body в вашем контроллере на стороне сервера, это возвращается как ноль?
Теги:
mean-stack

1 ответ

0
Лучший ответ

Это звучит как проблема с конфигурацией Express, вы не можете использовать модуль bodyParser в Express.

var bodyParser = require('body-parser');
var app = express();

app.use(bodyParser.json());

Это позволит вашему промежуточному программному обеспечению получить доступ к свойствам тела запроса в req.body

Ещё вопросы

Сообщество Overcoder
Наверх
Меню