對於1.4版本的AngularJS,是否有可能通過$cookies
創建永久性Cookie?
我希望數據在我登錄後存儲7天。在版本1.3.X中,甚至無法設置到期日期。但在1.4下,他們已棄用$cookieStore
並在$cookies
中設置了到期日期的選項。
我想知道這個人是否會創建所需的更長時間段的cookie,而不是關閉瀏覽器並且一切都消失了。
對於1.4版本的AngularJS,是否有可能通過$cookies
創建永久性Cookie?
我希望數據在我登錄後存儲7天。在版本1.3.X中,甚至無法設置到期日期。但在1.4下,他們已棄用$cookieStore
並在$cookies
中設置了到期日期的選項。
我想知道這個人是否會創建所需的更長時間段的cookie,而不是關閉瀏覽器並且一切都消失了。
您可以在$cookiesProvider
上設置expires屬性以更改$cookies
服務的默認行爲。 $cookiesProvider
可用於版本1.4。欲瞭解更多信息,請參閱here。
我認爲$ cookiesProvider也可以在1.3.X中使用。現在,假設我登錄並創建了一個過期時間設置爲7天+當前時間的cookie。如果我關閉瀏覽器並重新開始,它會在那裏嗎? OR就是這樣,Cookie的最長期限爲7天,如果您關閉它,將會被刪除,或者如果您已登錄,它將最多停留7天? – umeshksingla
下面的代碼做你想做的。當你正在寫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>
相關:http://stackoverflow.com/questions/24702432/angularjs-cookies-are-not-persisting – jdphenix
你真的要使用cookies?除非你需要每個http請求的這個信息,否則我認爲本地存儲是一個更好的選擇。一個不錯的庫是[here](https://github.com/grevory/angular-local-storage),它適用於1.4 – JMK
您不能使用localStorage設置到期日期。 –