Angularjs没有阅读cookie

时间:2015-09-09 06:25:05

标签: php angularjs

我的服务器端我正在使用php。我只是用php设置了一个cookie。

setcookie("authtoken", $_SESSION['token']);

它可以在浏览器cookie中使用。

我的客户端我正在使用angularJs.I尝试使用angular js来读取cookie。但是我得到undefined

<html>
<head>
    <title></title>
</head>
<body>
    <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 type="text/javascript">
        var app = angular.module('MyApp', ['ngCookies']);
        app.controller('MyController', function ($scope, $window, $cookieStore) {

            $scope.ReadCookie = function () {
                $window.alert($cookieStore.get('authtoken'));
            };

        });
    </script>
    <div ng-app="MyApp" ng-controller="MyController">
        Name:
        <input type="text" ng-model="Name" />
        <br />
        <br />
        <input type="button" value="Read Cookie" ng-click="ReadCookie()" />

    </div>
</body>
</html>

请提出解决此问题的方法。

提前谢谢!!

1 个答案:

答案 0 :(得分:1)

如果cookie未设置为angular,则必须使用$ cookies服务,而不是$ cookieStore。 $ cookieStore以JSON格式序列化和反序列化cookie。要检索该值,代码应为:

$window.alert($cookies.authtoken);

当然,你应该注入:

app.controller('MyController', function ($scope, $window, $cookies) {