2016-05-12 140 views
-3

这是我的文件authService.js:“未捕获的SyntaxError:意外的令牌。”角JS

angular.module('authService', []) 

.factory('Auth', function($http, $q, AuthToken){ 


    var authFactory = {}; 


    authFactory.login = function(username, password) { 

     return $http.post('/api/login', { 
      username: username, 
      password: password 
     }) 
     .success(function(data) { 
      AuthToken.setToken(data.token); 
      return data; 
     }) 
    } 

    authFactory.logout = function() { 

     AuthToken.setToken(); 
    } 
    authFactory.isLoggedIn = function() { 

     if(AuthToken.getToken()) 
      return true; 
     else 
      return false; 
    } 
    authFactory.getUser = function() { 

     if(AuthToken.getToken()) 
      return $http.get('/api/me'); 
     else 
      return $q.reject({ message: "Utilisateur n'a pas de token"}); 
    } 

    return authFactory; 
}); 


.factory('AuthToken', function($window) { *////// the problem is here //////* 

    var authTokenFactory = {}; 

    authTokenFactory.getToken = function() { 

     return $window.localStorage.getItem('token'); 
    } 

    authTokenFactory.setToken = function(token) { 

     if(token) 
      $window.localStorage.setItem('token', token); 
     else 
      $window.localStorage.removeItem('token'); 
    } 
    return authTokenFactory; 
}); 


.factory('AuthInterceptor', function($q, $location, AuthToken){ 

    var interceptorFactory = {}; 

    interceptorFactory.request = function(config) { 

     var token = AuthToken.getToken(); 

     if(token) { 

      config.headers['x-access-token'] = token; 
     } 
     return config; 
    }; 

    interceptorFactory.responseError = function(response) { 

     if(response.status == 403) 
      $location.path('/login'); 

     return $q.reject(response); 
    } 

    return interceptorFactory; 
}); 
+2

是否有之前'.factory()'什么? [应用程序前面应该有一个引用](https://docs.angularjs.org/guide/providers#factory-recipe)。 –

+0

jonathan当我在浏览器中运行时,问题出现在这行中:/请帮助我! – hassine

+0

这是我的文件authService.js: – hassine

回答

0

您必须删除错误的分号,让这样的代码:

angular.module('authService', []) 

.factory('Auth', function($http, $q, AuthToken){ 
    var authFactory = {}; 

    authFactory.login = function(username, password) { 
     return $http.post('/api/login', { 
      username: username, 
      password: password 
     }) 
     .success(function(data) { 
      AuthToken.setToken(data.token); 
      return data; 
     }) 
    } 
    authFactory.logout = function() { 
     AuthToken.setToken(); 
    } 
    authFactory.isLoggedIn = function() { 
     if(AuthToken.getToken()) 
     return true; 
    else 
     return false; 
    } 
    authFactory.getUser = function() { 
     if(AuthToken.getToken()) 
      return $http.get('/api/me'); 
     else 
      return $q.reject({ message: "Utilisateur n'a pas de token"}); 
    } 

    return authFactory; 
}) 
.factory('AuthToken', function($window) { 
    var authTokenFactory = {}; 

    authTokenFactory.getToken = function() { 
     return $window.localStorage.getItem('token'); 
    } 

    authTokenFactory.setToken = function(token) { 
     if(token) 
      $window.localStorage.setItem('token', token); 
     else 
      $window.localStorage.removeItem('token'); 
    } 
    return authTokenFactory; 
}) 
.factory('AuthInterceptor', function($q, $location, AuthToken){ 

    var interceptorFactory = {}; 

    interceptorFactory.request = function(config) { 
     var token = AuthToken.getToken(); 

     if(token) { 
      config.headers['x-access-token'] = token; 
     } 
     return config; 
    }; 

    interceptorFactory.responseError = function(response) { 
     if(response.status == 403) 
      $location.path('/login'); 
     return $q.reject(response); 
    } 

    return interceptorFactory; 
}); 
+0

是的,我这样做谢谢你乔纳森:) – hassine

相关问题