2014-09-24 2 views
1

Я пытаюсь вставить данные в мангусте с помощью углов и узлов js. Для этого я создал фабрику, где я звоню в другой файл js, где я создал соединение с базой данных.Вставьте данные в мангусте с использованием фабрики

Но когда я попытался сделать это, он дал мне ошибку.

Вот мой метод фабрики:

'use strict' 
test.factory('registrationservice', function($http, $scope){ 
    console.log('aa'); 
    $scope.newregister = function(user, $scope) { 

     var newUser = new user({ 
      username: $scope.uName, 
      firstname: $scope.fName, 
      lastname: $scope.lName, 
      email:$scope.mail, 
      password: $scope.newpwd 

     }); 

     console.dir(newUser); 

     var $promise = $http.post('data/registration.js', newUser); 
     $promise.then(function(msg){ 
      if(msg.data == 'success') console.log('success login') 
      else 
       console.log('login failed'); 
     }); 
    }; 

}); 

и ниже ошибки я получаю:

Error: [$injector:unpr] http://errors.angularjs.org/1.2.7/$injector/unpr?p0=%24scopeProvider%20%3C-%20%24scope%20%3C-%20registrationservice 
    at Error (native) 
+0

Как вы используете 'registrationservice'? –

+0

Я использую его в контроллере – kawade

+0

У меня такое чувство, что вы пытаетесь передать '$ scope' от контроллера к заводу – maurycy

ответ

1

Вы не можете вводить $ рамки для завода. У служб нет областей. Только контроллеры.

Поэтому вы должны использовать что-то вроде этого.

test.factory('registrationservice', function($http){ 
    var factory = {}; 
    // if user is another service you have to inject it in factory defenotion function 
    // and delete from here. 
    facotry.newregister = function(user, $scope) { 

     var newUser = new user({ 
      username: $scope.uName, 
      firstname: $scope.fName, 
      lastname: $scope.lName, 
      email:$scope.mail, 
      password: $scope.newpwd 

     }); 

     return $http.post('data/registration.js', newUser); 
    } 
    return factory; 
}); 

А затем в вашем контроллере.

test.controller('registrationCtrl', function($scope, $log, registrationservice){ 
    registrationservice.newregister(user, $scope).success(function(msg){ 
     $log.info(msg.data); 
    }) 
}); 
+0

i ahve попробовал реализовать это, но я получаю ошибку как: 'TypeError: undefined не является функцией' в var newUser = new user ({ – kawade

+0

любая идея ..... ?? – kawade

+0

Где у вас есть User-Object Определенный? –

Смежные вопросы