2015-12-02 99 views
0

我不明白为什么我无法获取我的cookie?无法获取cookie值

$ rootScopt.globals.currentUser =未定义

angular.module('MyModule', [ 
    'Authentication', 
    'Home', 
    'ngRoute', 
    'ngCookies' 
]) 
.config([ 
    //Config 
]) 
.run([ 
    '$rootScope', '$location', '$cookies', '$http', 
    function($rootScope, $location, $cookies, $http) { 
     //Keep user logged in after page refresh 
     $rootScope.globals = { 
      currentUser: { 
       username: "foo", 
       password: "bar" 
      } 
     } 

     $cookies.put('globals', $rootScope.globals); 

     $rootScope.globals = $cookies.get('globals') || {}; 



     if ($rootScope.globals.currentUser) { //Never go in here.. 
      //Do stuff 
     } 
    } 
]); 

我检查了,我的cookie获取存储,它似乎很好地工作。但是,当试图让我的cookie不起作用。任何人现在为什么?

+0

是U使用的是什么浏览器? – vivid

回答

1

默认情况下,Chrome不允许本地文件使用Cookie。您必须使用--enable-file-cookies标志运行它。

试试这个方法: jsfiddle

angular.module('test',['ngCookies']) 
    .run(function($rootScope, $cookies){ 
    $rootScope.globals = { 
      currentUser: { 
       username: "foo", 
       password: "bar" 
      } 
     } 
    $cookies.put('globals', JSON.stringify($rootScope.globals)); 
    var a = $cookies.get('globals'); 
    $rootScope.globals = JSON.parse(a) || {} 
    console.log($rootScope.globals); 
}) 
+0

但我可以看到cookie被存储..? – MrProgram

+0

@emptyman检查编辑 – vivid