使用 AngularJS 的 1.4 版本,是否可以创建持久性 cookie $cookies
?
我希望在登录后存储数据,例如 7 天。在 1.3.X 版本中,甚至无法设置到期日期。但是在 1.4 中,他们已弃用$cookieStore
并设置了$cookies
到期日期选项。
我想知道这是否会在所需的更长时间内创建 cookie,而不是关闭浏览器然后一切都消失了。
使用 AngularJS 的 1.4 版本,是否可以创建持久性 cookie $cookies
?
我希望在登录后存储数据,例如 7 天。在 1.3.X 版本中,甚至无法设置到期日期。但是在 1.4 中,他们已弃用$cookieStore
并设置了$cookies
到期日期选项。
我想知道这是否会在所需的更长时间内创建 cookie,而不是关闭浏览器然后一切都消失了。
您可以在 上设置 expires 属性$cookiesProvider
以更改$cookies
服务的默认行为。$cookiesProvider
适用于 1.4 版。有关更多信息,请参见此处。
下面的代码做你想做的事。当您编写 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>