1

在我的应用程序中,我使用的是 angularJS 1.3,当我$cookies用来存储一些值时,我需要设置 1 分钟的 cookie 过期时间。angularJs 1.3$cookies服务没有提供过期时间的方法。这是我到目前为止尝试的代码。

var x = new Date();
x.setMinutes(x.getMinutes() + 1);

$cookies['showStartUpScreen'] = value + ';expires=' + x.toGMTString();
4

1 回答 1

1

为 cookie 设置过期时间的功能是在 1.4 中添加的,同时对 Angular 通常如何使用 cookie 进行了全面检查。然而,在 1.3 中,您可以使用纯 JS 来设置 cookie 的过期时间,因为 Angular 会轮询 cookie 的变化。

  var date = new Date();
  var expireTime = date.getTime() + 5000 // 5 seconds
  date.setTime(expireTime);
  console.log(date)
  document.cookie = 'myFavorite=ok;expires='+date.toGMTString()+';path=/';

  // Retrieve cookie using both vanilla and Angular
  console.log(document.cookie)
  var theCookie = $cookies.myFavorite
  console.log(theCookie)

我在CodePen上设置了一个概念证明,您可以在 5 秒后按下一个按钮来显示 cookie 确实按预期过期。

参考:

于 2017-03-30T09:45:44.417 回答