$cookiesProvider瀏覽器
使用$cookiesProvider改變$cookies服務的默認行爲。安全
默認屬性cookie
path:字符串,cookies只在這個路徑及其子路徑可用。默認狀況下,這個將會是出如今你基礎標籤上的網址路徑。session
domain:字符串,cookies只在這個域及其子域可用。爲了安全問題,若是當前域不是需求域的或者其子域,那麼用戶代理不會接受cookies。dom
expires:字符串,日期。"Wdy, DD Mon YYYY HH:MM:SS GMT"格式的字符串或者一個日期對象表示cookies將在這個確切日期/時間過時。ide
secure:boolean,該cookies將只在安全鏈接中被提供。spa
$cookiesProvider 配置代理
(function () { angular.module('Demo', []) .config(["$cookiesProvider",cookiesFn ]) function cookiesFn($cookiesProvider) { $cookiesProvider.defaults = { path: yourPath, domain: yourDomain, expires: expireDate, secure: true/false }; } }());
$cookiescode
提供瀏覽器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)的坑就基本沒什麼問題了