我的服务器端我正在使用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>
请提出解决此问题的方法。
提前谢谢!!
答案 0 :(得分:1)
如果cookie未设置为angular,则必须使用$ cookies服务,而不是$ cookieStore。 $ cookieStore以JSON格式序列化和反序列化cookie。要检索该值,代码应为:
$window.alert($cookies.authtoken);
当然,你应该注入:
app.controller('MyController', function ($scope, $window, $cookies) {