【问题标题】:With 1.4 version of AngularJS, is it possible to create persistent cookies with $cookies?使用 1.4 版本的 AngularJS,是否可以使用 $cookies 创建持久 cookie?
【发布时间】:2015-08-08 04:37:49
【问题描述】:

使用 AngularJS 1.4 版本,是否可以使用 $cookies 创建持久 cookie?

我希望在登录后存储数据,例如 7 天。在 1.3.X 版本中,甚至无法设置到期日期。但是在 1.4 中,他们已经弃用了 $cookieStore 并在 $cookies 中设置了一个选项来确定到期日期。

我想知道这个是否会在所需的更长时间内创建 cookie,而不是我关闭浏览器然后一切都消失了。

【问题讨论】:

  • 您真的要使用cookies吗?除非您在每个 http 请求上都需要此信息,否则我认为本地存储是更好的选择。 here 是一个不错的库,它适用于 1.4
  • 不能使用localStorage设置过期日期。
  • 我认为 document.cookie 有效

标签: angularjs cookies persistent cookiestore


【解决方案1】:

下面的代码做你想做的事。当您编写 cookie 时,您可以tell the expiration date。您可以关闭浏览器,cookie 将保持活动状态。

设置到期日期防止浏览器关闭时将其删除。 setting persistent cookies with javascript

<!DOCTYPE html>
<html ng-app="cookiesExample">

  <head>
    <meta charset="utf-8" />
    <script src="https://code.angularjs.org/1.4.0-rc.2/angular.js"></script>
    <script src="https://code.angularjs.org/1.4.0-rc.2/angular-cookies.js"></script>
  </head>

  <body ng-controller="MainCtrl">
    <p>Hello {{name}}!</p>

    <script>
        angular.module('cookiesExample', ['ngCookies'])
      .controller('MainCtrl', ['$cookies', '$scope', function($cookies, $scope) {
        // Retrieving a cookie
        var favoriteCookie = $cookies.get('myFavorite');

        $scope.name = (favoriteCookie) ? 'welcome back' : 'first time';
        // Setting a cookie

        var now = new Date();
        now.setDate(now.getDate() + 7);
        $cookies.put('myFavorite', 'oatmeal', {
          expires: now
        });

      }]);
    </script>
  </body>


</html>

【讨论】:

    【解决方案2】:

    您可以在$cookiesProvider 上设置 expires 属性来更改$cookies 服务的默认行为。 $cookiesProvider 适用于 1.4 版。如需更多信息,请参阅here

    【讨论】:

    • 我认为 $cookiesProvider 在 1.3.X 中也可用。现在,假设我登录并创建了一个过期设置为 7 天 + 当前时间的 cookie。如果我关闭浏览器并重新启动,它会在那里吗?还是这样,cookie 的最长期限为 7 天,如果您关闭它,它将被删除,或者如果您已登录,它将最多保留 7 天?
    猜你喜欢
    • 2010-12-21
    • 2014-09-02
    • 1970-01-01
    • 1970-01-01
    • 2015-05-21
    • 2012-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多