如何为AngularJS $cookies设置域名

13

看起来$cookies只允许设置键值对。

但我还需要设置域参数。我需要从网站的一个子域设置cookie,并在所有子域中使用它。

我正在使用AngularJS和Twitter Bootstrap。

2个回答

8

目前在Angular(1.2.7)中还没有实现此功能。您可以查看angular.js第4348行-相关代码有点简化:

if (value === undefined) {
   // Delete the cookie
   rawDocument.cookie = escape(name) + 
          "=;path=" + cookiePath + ";expires=Thu, 01 Jan 1970 00:00:00 GMT";
} else {
   // set or update the cookie value
   rawDocument.cookie = escape(name) + '=' + escape(value) + ';path=' + cookiePath);
}

正如您所看到的,没有包含; domain = XYZ。 您需要编写自己的cookie存储库来实现此功能 - 但这应该非常容易。

1
更新:AngularJS 1.4.0-beta.6 添加此功能 - GregL

4

最低支持的AngularJS版本是多少? - Bhalchandra K
1
cookieStore 在 Angular 的后续版本中已被弃用。至少在 1.4 + 版本中是如此。 - demisx
我已经将"ng-biscuit"标记为弃用,因为cookieStore已经被修复 - https://github.com/angular/angular.js/commit/92c366d205da36ec26502aded23db71a6473dad7 - Stepan Suvorov
$cookieStore.put()没有第三个参数。 - Akim Kelar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接