Javascript 为什么$cookieStore.get()无法获取值?

Javascript 为什么$cookieStore.get()无法获取值?,javascript,angularjs,Javascript,Angularjs,我在测试angularjs的饼干。我想知道为什么它在控制台中返回未定义?当我使用$cookieStore.put()设置或保存值时,当从cookie获取值时,它返回未定义的值 <!DOCTYPE html> <head runat="server"> <title></title> <script type="text/javascript" src="https://ajax.googleapis.com/ajax/lib

我在测试angularjs的饼干。我想知道为什么它在控制台中返回未定义?当我使用$cookieStore.put()设置或保存值时,当从cookie获取值时,它返回未定义的值

<!DOCTYPE html>
<head  runat="server">
    <title></title>
    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.9/angular.min.js"></script>
    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.9/angular-cookies.js"></script>
    <script>
        angular.module('app', ['ngCookies']).controller('MyController', ['$scope','$cookieStore', function($scope, $cookieStore) {

            $scope.WriteCookie = function() {           
                $cookieStore.put('visited', $scope.yes);                
                console.log($cookieStore.get('visited'));
            }       

            $scope.ReadCookie = function() {
                $cookieStore.get('visited');
                console.log($cookieStore.get('visited'));
            }

        }]);
    </script>
</head>
<body ng-app="app">
    <form>
    <div ng-controller="MyController">      
    <input type="button" value="Write Cookie" ng-click="WriteCookie()" />
    <input type="text" ng-model="yes" />

    <input type="button" value="Read Cookie" ng-click="ReadCookie()" />
    <input type="text" ng-model="cookie" />
    </div>
    </form>
</body>
</html>

angular.module('app',['ngCookies')).controller('MyController',['$scope','$cookieStore',函数($scope,$cookieStore){
$scope.WriteCookie=function(){
$cookieStore.put('visted',$scope.yes);
log($cookieStore.get('visted');
}       
$scope.ReadCookie=函数(){
$cookieStore.get('visted');
log($cookieStore.get('visted');
}
}]);
试着这样做:

更新cookie版本1.6.6,并使用$cookies代替$cookieStore

angular.module('myApp', ['ngCookies'])
.controller('myController', ['$cookies', function($cookies) {

  $cookies.put('myFavorite', 'oatmeal');
  var favoriteCookie = $cookies.get('myFavorite');

  console.log('favoriteCookie', favoriteCookie);

}]);

我用两种方法测试了你的代码。将其作为文件从服务器打开。在第一种情况下,我得到“未定义”,而在第二种情况下,它按预期读取cookie。我做了一些挖掘,看起来有些浏览器(包括Chrome)不允许为作为文件打开的页面设置cookies

您似乎没有开口
tag@Phil同样的,什么也没发生,这是未定义的。似乎工作得很好~。我确实添加了
$scope.cookie=$cookieStore.get('visited')
,这样您就可以在我的本地机器上看到值,但什么也没有发生。您从未将其分配给
$scope.cookie
,以便将其传递给
ng model
。除此之外,它工作良好这是一个有趣的情况,首先我不使用localhost直接打开文件,但当我在localhost上运行它时,它工作正常!看来你已经解锁了。