2016-07-18 22 views
1

Ich versuche, mich mit angularjs einzuloggen. Meine loginFactory zeigt immer einen Unbekannten Provider Fehler an. Unten ist mein factory.js Code.

loginFactory.$inject = ['$resource', '$q']; 
function loginFactory($resource, $q) { 

     return { 
      login: login, 
      logout:logout, 
      isLogged:isLogged, 
      getUserData:getUserData, 

     }; 
     /////////////// 
     /** 
      * Login user in 
      * @param object $data 
      * @return object promise 
      */ 
     function login($data) { 
      return getResource().save($data).$promise.then(function(user) { 
       setUserData(user.user); 
       return user; 
      }) 
     } 
     /** 
      * Store user save data 
      * @param object user data 
      */ 
     function setUserData($data) {    
      localStorage.setItem('token', $data.token); 
      localStorage.setItem('id', $data.id); 
     } 

      /** 
      * Get user data 
      * @return object 
      */ 
     function getUserData() { 
      // perform asynchronous operation 
      var deferred = $q.defer(); 

      if(localStorage.token && localStorage.id) { 

       deferred.resolve({ 
         token:localStorage.token, 
         id:localStorage.id, 
       });  

      // if local storage fails, check with the server if user is still logged in 
      } else { 
       getUserFromServer().$promise.then(function(user){ 
       deferred.resolve(user) 
       },function(error){ 
        deferred.reject(); 
       }) 
      } 
      // return promise 
      return deferred.promise; 
     } 

     /** 
      * Remove User data 
      */ 
     function removeUserData() { 
      delete localStorage.token; 
      delete localStorage.id; 
     } 

     /** 
      * Logout user 
      * @return object promise 
      */ 
     function logout() { 
      return getResource().delete().$promise.then(function(message) { 
       removeUserData();  
      }) 
     } 

     /** 
      * Check if user is logged in 
      * @return boolean 
      */ 
     function isLogged() { 
      return getUserData().then(function(user){ 
       return true; 
      }, function(error){    
       return false; 
      }); 
     } 

     /** 
      * Get user data from server 
      * call api/login GET method, returns JSON {token,id} 
      * @return promise 
      */ 
     function getUserFromServer() { 
      return getResource().get(); 
     } 

     /** 
      * Get resource 
      * @return obj 
      */ 
     function getResource() { 
      return $resource('/api/login'); 
     }; 
    } 

angular 
    .module('inspinia')  
    .factory('loginFactory', loginFactory); 

Kann jemand bitte mir einen Hinweis geben, wo ich falsch mache. Danke im Voraus.

Antwort

0

Winkel .module ('inspinia' [ 'ngResource'])
.factory ('loginFactory', loginFactory);

Fügen Sie ngResource Abhängigkeit Injektion in Ihrem Modul

+0

Danke für Ihre Antwort. Aber nach dem Hinzufügen 'ngResource', Im erhalten $ injector: modulerr Fehler – AAT

+0

herunterladen angular-resource.js und fügen Sie es zu Ihrer Ressource –