2017-06-26 8 views
0

私はangularjsで自分のサイトにログインしています。私のコード:
HTML:ルーティングangjsを持つクッキー

 <input type="text" ng-model="username" placeholder="Username"> 

     <input type="password" ng-model="password" placeholder="Password" > 

     <button class="btn btn-lg btn-primary btn-block" type="submit" ng-click="signin()">Sign in</button> 

JS:

app.config(function($routeProvider) { 
     $routeProvider 
      .when('/', { 
       resolve: { 
        "check": function($location, $rootScope) { 
         if(!$rootScope.valueCookie) { 
          $location.path('/login'); 
         } 
        } 
       }, 
       templateUrl: 'home.html' 
      }) 
      .when('/login', { 
       templateUrl: 'login.html' 
      }) 
      .otherwise({ 
       redirectTo: '/' 
      }); 
    }); 

$scope.signin = function() { 
     $rootScope.valueCookie = $cookieStore.put('obj', someSessionObj); 
    } 

私がやろう、何がクッキーの解決です。クッキーがブラウザにあるとき - サインインをクリックした後、私たちは "home.html"にあり、更新ページの後にはまだ "home.html"です。私のコードは動作しません。 お返事ありがとうございます。

答えて

1

$ rootScope.valueCookieのクッキーを設定するだけで、それを取得してそれが存在するかどうかを確認する必要があります。ドクから

$cookies.put('obj', someSessionObj); 
$rootScope.valueCookie = $cookies.get('obj'); 

にあなたのコードを変更:$は、cookiestoreが廃止されました:(1.4.0以降)

関連する問題