AngularJs Cookies 操作


$cookiesProvider

使用$cookiesProvider改變$cookies服務的默認行為。

默認屬性

path:字符串,cookies只在這個路徑及其子路徑可用。默認情況下,這個將會是出現在你基礎標簽上的網址路徑。

domain:字符串,cookies只在這個域及其子域可用。為了安全問題,如果當前域不是需求域的或者其子域,那么用戶代理不會接受cookies。

expires:字符串,日期。"Wdy, DD Mon YYYY HH:MM:SS GMT"格式的字符串或者一個日期對象表示cookies將在這個確切日期/時間過期。

secure:boolean,該cookies將只在安全連接中被提供。

$cookiesProvider 配置

  (function () {
      angular.module('Demo', [])
      .config(["$cookiesProvider",cookiesFn ])
      function cookiesFn($cookiesProvider) {
          $cookiesProvider.defaults = {
              path: yourPath,
              domain: yourDomain,
              expires: expireDate,
              secure: true/false
          };
      }
  }());

$cookies

提供瀏覽器cookies的讀/寫訪問操作。

支持1.4及以上版本。

需要引入ngCookies模塊。angular.cookies[.min].js

方法

get(key);

根據key返回該cookies值。

key:搜索cookies的id。

getObject(key);

根據key返回該cookies的反序列化值。

key:搜索cookies的id。

getAll();

返回所有cookies的鍵值對格式對象。

put(key,value,[options]);

根據給定的id設置一個cookies。

key:cookies值的id。

value:要存儲的cookies原始值。

[options]:選項對象。

putObject(key,value,[options]);

根據給定的id設置一個cookies。

key:cookies值的id。

value:要存儲的cookies原始值。

[options]:選項對象。

remove(key,[options]);

移除指定id的cookies。

key:要刪除的鍵值cookies對的id。

[options]:選項對象。

$cookieStore

提供一個被session cookies支持的鍵值對(字符串-對象)存儲。被存入和取出的對象將自動通過angular的toJson/fromJson進行序列化/反序列化。

依賴:$cookies

方法

get(key);

根據key返回cookies值(已被反序列化)。

key:搜索cookies的id。

put(key,value);

根據給定的id設置一個cookies。

key:cookies值的id。

value:要存儲的cookies值。

remove(key);

移除指定id的cookies。

key:要刪除的鍵值cookies對的id。

使用代碼:

  (function () {
      angular.module('Demo', ["ngCookies"])
      .controller('testCtrl', ["$cookies","$cookieStore","$timeout",testCtrl]);
      function testCtrl($cookies,$cookieStore,$timeout) {
          var time = new Date().getTime()+5000;
          $cookies.put("theCookie","Hello World",{expires:new Date(new Date().getTime()+5000)});
          $cookies.putObject("objCookie",{value:"Hello World"},{expires:new Date(new Date().getTime()+5000)});
          $cookieStore.put("newCookie",{value:"Hello World"});
          var getCookie = $cookies.get("theCookie");  // Hello World
          var getObjCookie = $cookies.getObject("objCookie");  // Object{ value="Hello World" }
          var getNewCookie = $cookieStore.get("newCookie");  // Hello World
          //$cookies.remove("theCookie"); // theCookie = unfefined
          //$cookies.remove("objCookie"); // objCookie = undefined
          var allCookies = $cookies.getAll(); // Object{ theCookie="Hello World", objCookie="{"value":"Hello World"}", newCookie="{"value":"Hello World"}" }
          $timeout(function(){
              var _getCookie = $cookies.get("theCookie"); // theCookie = unfefined
              var _getObjCookie = $cookies.getObject("objCookie"); // objCookie = undefined
              $cookieStore.remove("newCookie"); // newCookie = undefined
          },6000);
      }
  }());

注意 : angular 使用 cookies 需要引入angular-cookies[.min].js

使用 cookies 需謹慎,多注意路徑(path)和域(domain)的坑就基本沒什么問題了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM