如何检查用户是否使用$ routeChangeStart

时间:2016-05-16 11:56:24

标签: javascript angularjs node.js angular-ui-router

我是angularjs中的新手,我想检查我的用户是否登录过  我是angularjs的新手,我想检查我的用户是否登录过   通过$ routeChangeStart

控制器

angular.module('crud')
  .controller('SigninCtrl', function ($scope,$location,User,$http) {             


    $scope.signin = function(){

    var data={ email:$scope.email,password:$scope.password}


        //console.log(typeof user);

       var user=User.signin(data);
        //console.log(typeof user);
     user.success(function (data) {
                    console.log("token signin",data);
                    var token=data.token;
                localStorage.setItem('id_token', token);
                    $location.path("/todo");
               })
               .error(function (data) {
                    //Do whatever is needed
                 console.log(data);

               });  


        }   

  });

2 个答案:

答案 0 :(得分:0)

不是在localStorage中设置令牌,而是将其放在$cookies中。您可以使用角度$routeChangeStart服务。在{{1}}事件中,您可以检查是否存在此cookie以及是否已登录用户。

答案 1 :(得分:0)

示例代码:

angular.module('crud', [])
.run(['$rootScope', function ($rootScope) {
  $rootScope.$on('$stateChangeStart', function (event, toState, toParams, fromState) {
    var token = localStorage.getItem('id_token');
    /*
     *..validate your token here..
     */
  }
}]);