1

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

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

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

4

2 回答 2

2

您可以在 上设置 expires 属性$cookiesProvider以更改$cookies服务的默认行为。$cookiesProvider适用于 1.4 版。有关更多信息,请参见此处

于 2015-05-26T13:29:26.590 回答
0

下面的代码做你想做的事。当您编写 cookie 时,您可以告知到期日期。您可以关闭浏览器,cookie 将保持活动状态。

设置到期日期可防止浏览器关闭时将其删除。 使用 javascript 设置持久性 cookie

<!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>
于 2015-05-26T13:39:21.050 回答