【问题标题】:how to set cookie expiration time in angularJs 1.3?如何在 angularJs 1.3 中设置 cookie 过期时间?
【发布时间】:2017-08-23 22:53:40
【问题描述】:

在我的应用程序中,我使用 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();

【问题讨论】:

    标签: javascript angularjs angular-cookies


    【解决方案1】:

    在 1.4 中添加了为 cookie 设置过期时间的功能,同时对 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 确实按预期过期。

    参考资料:

    【讨论】:

    • 作为补充,如果可以的话,我真诚地建议升级到更新版本的 AngularJS。除了新的 cookie 功能外,设置控制器或指令之类的事情也得到了极大的简化,并且有许多性能改进。
    猜你喜欢
    • 2012-09-19
    • 1970-01-01
    • 2011-11-14
    • 2017-01-11
    • 1970-01-01
    • 2017-03-06
    • 1970-01-01
    • 2011-12-17
    • 1970-01-01
    相关资源
    最近更新 更多