2015-05-26 7 views
1

С 1.4 версией AngularJS можно ли создавать постоянные файлы cookie с $cookies?

Я хочу, чтобы данные хранились после входа в систему, в течение 7 дней. В версии 1.3.X невозможно установить дату истечения срока действия. Но с 1.4 они устарели $cookieStore и установили опцию в $cookies на срок действия.

Я хочу знать, создает ли этот файл cookie для желаемых более длительных периодов, а не закрывать браузер, и все прошло.

+0

Связанный: http://stackoverflow.com/questions/24702432/angularjs-cookies-are-not-persisting – jdphenix

+0

Вы действительно хотите использовать куки? Если вам не нужна эта информация для каждого HTTP-запроса, я думаю, что локальное хранилище - лучший вариант. Хорошая библиотека [здесь] (https://github.com/grevory/angular-local-storage), и она работает с 1.4 – JMK

+0

Вы не можете установить срок годности, используя localStorage. –

ответ

2

Вы можете установить свойство expires на $cookiesProvider, чтобы изменить поведение по умолчанию службы $cookies. $cookiesProvider доступен с версией 1.4. Для получения дополнительной информации см. here.

+0

Я думаю, что $ cookiesProvider также доступен в 1.3.X. Теперь предположим, что я вошел в систему и создает cookie с истечением срока действия 7 дней + текущее время. Если я выключу свой браузер и начну снова, он будет там? ИЛИ это похоже, максимальный период cookie составляет 7 дней, и если вы его отключите, то он будет удален или если вы вошли в систему, он останется на максимум 7 дней? – umeshksingla

0

Код ниже делает то, что вы хотите. Когда вы пишете файл 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> 

 Смежные вопросы

  • Нет связанных вопросов^_^