【发布时间】:2016-07-14 00:41:21
【问题描述】:
我正在尝试使用 AngularJS v1.5.x $cookies 服务编写一个简单的 cookie。依赖项都是正确的,因为我可以读取 cookie。但是,写入和编辑都不起作用。
例如:
var blah = $cookies.get('mysite_auth');
console.log('old: ' + blah);
$cookies.put('mysite_auth', 'blech');
blah = $cookies.get('mysite_auth');
console.log('new: ' + blah);
...产生以下输出:
旧:ZmVhZDE ... =
新:ZmVhZDE ... =
不会抛出任何错误。尝试写入新 cookie 时也会发生同样的情况:
$cookies.put('someCookie', 'yup');
我可以像这样在我的控制器中写一个 cookie:
document.cookie = 'TEST=TESTVALUE';
这可能是什么原因?
【问题讨论】:
-
在旧版本的 IE 上可能会失败。你在什么浏览器上试试这个?
-
Chrome 最新稳定版。
-
你试过 $cookieStore.put 来放值吗?
-
没有。我的理解是
$cookieStore已被弃用。 -
我在 GitHub 上发现了这个问题,提到
$cookie.put异步工作。您可能在实际写入 cookie 之前就已阅读它。您可以尝试设置超时以查看是否是这种情况。 github.com/angular/angular.js/issues/6411
标签: javascript angularjs cookies angular-cookies