$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. HDU 1160 FatMouse's Speed 动态规划 记录路径的最长上升子序列变形

    题目大意:输入数据直到文件结束,每行两个数据 体重M 和 速度V,将其排列得到一个序列,要求为:体重越大 速度越低(相等则不符合条件).求这种序列最长的长度,并输出路径.答案不唯一,输出任意一种就好了 ...

  2. 【转】CentOS安装PF_RING(虚拟机)

    1.       概述 PF_RING是Luca Deri发明的提高内核处理数据包效率,并兼顾应用程序的补丁,如Libpcap和TCPDUMP等,以及一些辅助性程序(如ntop查看并分析网络流量等). ...

  3. 深入理解最强桌面地图控件GMAP.NET ---离线地图

    enjoyeclipse 深入理解最强桌面地图控件GMAP.NET ---离线地图 这章会介绍GMAP.NET的核心功能之一:离线地图.这个功能可以满足很多政府项目.保密项目.或者由于种种原因不能上网 ...

  4. Android--->LinearLayout页面布局方式

    main.xml布局方式 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns ...

  5. 进程waitpid()的用法

    代码分析: /* waitpid.c */ #include <sys/types.h> #include <sys/wait.h> #include <unistd.h ...

  6. .net core 13

  7. vs2008安装opencv2.4.6

    最近安装opencv2.4.6,发现犯了一个很愚蠢的错误,在此记录一下. opencv的头文件包含应该位于build文件夹内,而我误将opencv文件夹下的include包含了进去,造成无法找到头文件 ...

  8. FM收音机 RDS的强大功能

    FM收音机 RDS的强大功能 分类: MTK2011-04-26 16:06 14889人阅读 评论(6) 收藏 举报 交通公告体育音乐娱乐教育 前言 随着发展,会有越来越多的电台具有RDS广播功能, ...

  9. Unity中的CG编写Shader系列(Blend)

    1.不透明度 当我们要将两个半透的纹理贴图到一个材质球上的时候就遇到混合的问题,由于前面的知识我们已经知道了片段着色器以及后面的环节的主要工作是输出颜色与深度到帧缓存中,所以两个纹理在每个像素上的颜色 ...

  10. OC语言的特性(二)-Block

    本篇文章的主要内容 了解何谓block. 了解block的使用方法. Block 是iOS在4.0版本之后新增的程序语法. 在iOS SDK 4.0之后,Block几乎出现在所有新版的API之中,换句 ...