我正在使用AngularJS 1.4.0和$cookies
服务。以下代码将始终打印出一个空对象:
(function() {
var app = angular.module("user-cookies-service", []);
app.service('UserCookiesService', ["$cookies", function($cookies) {
$cookies.put("Hello", "World");
console.log($cookies.getAll());
}]);
})();
我试过了:
$cookieStore
,当浏览器刷新时,cookie不会持续存在(但它至少创建了cookie)。我无法在任何地方找到类似的问题。
谢谢。
答案 0 :(得分:4)
有点晚,但对于有同样问题的人。我遇到了类似的问题。您必须确保将正确的选项作为第三个参数传递。在我的情况下,路径没有设置。 Angular使用您的<base>
标记来设置路径。如果因任何原因无法使用,则不会设置cookie。
试试这个
$cookies.put('secret', 'I cant tell you' {
expires: new Date(date),
path: '/'
});
答案 1 :(得分:2)
任何偶然发现此问题的人......
默认情况下,Chrome不允许使用Cookie作为本地文件。您必须使用--enable-file-cookies
标志运行它。
确保Chrome已关闭并打开Windows命令提示符/终端并运行以下命令:
<path-to-chrome>/chrome.exe --enable-file-cookies
这将允许您在本地放置/获取cookie。
干杯!
答案 2 :(得分:0)
刷新后应该可以使用cookie,尝试以相反的方式记录
console.log($cookies.getAll());
$cookies.put("Hello", "World");
首次加载:{},第二次加载:{“Hello”:“World”}
在角度1.3中,使用$ cookies.Hello =“world”;设置cookie