AngularJS $cookies.get() 总是 returns 未定义
AngularJS $cookies.get() always returns undefined
我正在使用 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());
}]);
})();
我试过:
- 使用 AngulerJS 1.3.15 和
$cookieStore
当浏览器刷新时 cookie 不会持续存在(但它至少创建了 cookie)。
- 添加到期日。
- 确保在我的浏览器中启用 Cookies (Chrome)。
- 尝试使用普通的旧 JS,但仍然无效。
我在任何地方都找不到类似的问题。
谢谢。
对于偶然发现此问题的任何人...
默认情况下,Chrome 不允许本地文件的 cookie。您必须使用 --enable-file-cookies
标志 运行 它。
确保 Chrome 已关闭并打开 Windows 命令 Prompt/Terminal 和 运行 以下命令:
<path-to-chrome>/chrome.exe --enable-file-cookies
这将允许您在本地 put/get cookie。
干杯!
刷新后应该可以使用cookies,尝试用相反的方式登录
console.log($cookies.getAll());
$cookies.put("Hello", "World");
第一次加载:{},第二次加载:{"Hello":"World"}
在angular1.3中,使用$cookies.Hello = "world";设置 cookie
有点晚了,但对于遇到同样问题的人来说。我有一个类似的问题。您必须确保将正确的选项作为第三个参数传递。在我的例子中,路径没有被设置。 Angular 使用您的 <base>
标签设置路径。如果出于某种原因不可用,则不会设置 cookie。
试试这个
$cookies.put('secret', 'I cant tell you' {
expires: new Date(date),
path: '/'
});
我正在使用 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());
}]);
})();
我试过:
- 使用 AngulerJS 1.3.15 和
$cookieStore
当浏览器刷新时 cookie 不会持续存在(但它至少创建了 cookie)。 - 添加到期日。
- 确保在我的浏览器中启用 Cookies (Chrome)。
- 尝试使用普通的旧 JS,但仍然无效。
我在任何地方都找不到类似的问题。
谢谢。
对于偶然发现此问题的任何人...
默认情况下,Chrome 不允许本地文件的 cookie。您必须使用 --enable-file-cookies
标志 运行 它。
确保 Chrome 已关闭并打开 Windows 命令 Prompt/Terminal 和 运行 以下命令:
<path-to-chrome>/chrome.exe --enable-file-cookies
这将允许您在本地 put/get cookie。
干杯!
刷新后应该可以使用cookies,尝试用相反的方式登录
console.log($cookies.getAll());
$cookies.put("Hello", "World");
第一次加载:{},第二次加载:{"Hello":"World"}
在angular1.3中,使用$cookies.Hello = "world";设置 cookie
有点晚了,但对于遇到同样问题的人来说。我有一个类似的问题。您必须确保将正确的选项作为第三个参数传递。在我的例子中,路径没有被设置。 Angular 使用您的 <base>
标签设置路径。如果出于某种原因不可用,则不会设置 cookie。
试试这个
$cookies.put('secret', 'I cant tell you' {
expires: new Date(date),
path: '/'
});