$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)的坑就基本没什么问题了

Angular Cookies 操作的更多相关文章

  1. AngularJs Cookies 操作

    $cookiesProvider 使用$cookiesProvider改变$cookies服务的默认行为. 默认属性 path:字符串,cookies只在这个路径及其子路径可用.默认情况下,这个将会是 ...

  2. C#语法糖之Cookies操作类 asp.net

    用法: //声名一个数据集合 var listString = new List<string>() { "a", "b", "c&quo ...

  3. Cookies操作类

    实现代码: //声名一个数据集合 var listString = new List<string>() { "a", "b", "c&q ...

  4. C# 常用类库(字符串处理,汉字首字母拼音,注入攻击,缓存操作,Cookies操作,AES加密等)

    十年河东,十年河西,莫欺少年穷 学无止境,精益求精 记录下字符串类库,方便今后查阅 主要包含了字符串解决,去除HTML,SQL注入攻击检测,IP地址处理,Cookies操作,根据身份证获取性别.姓名. ...

  5. Angular使用操作事件指令ng-click传多个参数示例

    本文实例讲述了Angular使用操作事件指令ng-click传多个参数功能.分享给大家供大家参考,具体如下: <!DOCTYPE html> <html ng-app="m ...

  6. angular $cookies、$cookieStore

    js 文件 加载 <script src="angular-cookies/angular-cookies.js"></script>注入:angular. ...

  7. angular路由操作

    在单页面应用程序中比如angular应用,我们需要根据url的变化(即:不同的请求),来分配不同的资源.根据请求的URL来决定执行哪个模块,这个过程叫路由,同时,我们需要设计路由规则. 下面给出一个简 ...

  8. 《selenium2 python 自动化测试实战》(17)——几个cookies操作

    之前我们已经学过利用cookies跳过验证码登录了,那时候我们用的方法是add_cookie()方法,这里再给大家介绍两个,一般情况下我们用不到,了解一下就可以,而且如果真的用到的时候百度也很快的: ...

  9. flask的cookies操作

    from flask import Flask,request,Response app = Flask(__name__) @app.route('/') def hello_world(): re ...

随机推荐

  1. Spring+Struts集成(第二种方案)

    在上一篇文章中我们了解到了第一种Spring跟Struts集成的方案,但此集成方案的不足是WEB层中知道Spring的相关内容,因为需要去主动的查找对象:BeanFactory.方案二便是通过依赖注入 ...

  2. Super Mario

    Super Mario Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit ...

  3. hrbustoj 2013 Play Game 2(博弈)

    注释在代码里 /* 1.若输入2 ~ 9 ,因为Stan 是先手,所以Stan 必胜 2.若输入10~18 ,因为Ollie 是后手,不管第一次Stan 乘的是什么,Stan肯定在 2 ~ 9 之间, ...

  4. 初始化Direct3D

    1.Direct3D概述 Direct3D是一套底层图形API,借助该API,我们能够利用硬件加速功能来绘制3D场景. 设备制造商将其产品支持的全部功能都实现到HAL中. 1.1 Direct3D提供 ...

  5. 17.4.3 使用MulticastSocket实现多点广播(2)

    // 让该类实现Runnable接口,该类的实例可作为线程的target public class MulticastSocketTest implements Runnable { // 使用常量作 ...

  6. CodeForces 621B Wet Shark and Bishops

    记录一下每个对角线上有几个,然后就可以算了 #include<cstdio> #include<cstring> #include<cmath> #include& ...

  7. seajs的常用api简易文档

    目前使用sea.js的公司越来越多, 比如朋友网,阿里巴巴,淘宝网,百姓网,支付宝,有道云笔记等.模块化的javascript开发带来了可维护,可扩展性,尤其在多人协作开发的时候不用再担心文件依赖和函 ...

  8. Blog`s CSS

    #div_digg { position: fixed; bottom: 10px; width: 50px; right: 50px; filter: alpha(opacity=20); opac ...

  9. 如何成为一名优秀的UI设计师

    zccst整理 因为我自己就是一个 0 美术基础.非计算机.非艺术类科班出身,但从事视觉设计工作的同学,所以很多和题主一样大学里学着不喜欢的专业,想要转设计但又不知从何开始的朋友都来问过我类似的问题, ...

  10. NSDate详解及获取当前时间等常用操作

    NSDate类用于保存时间值,同时提供了一些方法来处理一些基于秒级别时差(Time Interval)运算和日期之间的早晚比较等. 1. 创建或初始化可用以下方法 用于创建NSDate实例的类方法有 ...