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)的坑就基本没什么问题了
AngularJs Cookies 操作的更多相关文章
- [转]AngularJS Cookies Example
AngularJS Cookies Example AngularJS 提供了很好的 $cookie 和 $cookieStore API 用来处理 cookies . 这两个服务都能够很好的发挥HT ...
- C#语法糖之Cookies操作类 asp.net
用法: //声名一个数据集合 var listString = new List<string>() { "a", "b", "c&quo ...
- Cookies操作类
实现代码: //声名一个数据集合 var listString = new List<string>() { "a", "b", "c&q ...
- C# 常用类库(字符串处理,汉字首字母拼音,注入攻击,缓存操作,Cookies操作,AES加密等)
十年河东,十年河西,莫欺少年穷 学无止境,精益求精 记录下字符串类库,方便今后查阅 主要包含了字符串解决,去除HTML,SQL注入攻击检测,IP地址处理,Cookies操作,根据身份证获取性别.姓名. ...
- [Angularjs]cookie操作
摘要 现在很多app采用内嵌h5的方式进行开发,有些数据会存在webveiw的cookie中,那么如果使用angularjs开发单页应用,就需要用到angularjs的cookie操作.这里提供一个简 ...
- Angular Cookies 操作
$cookiesProvider 使用$cookiesProvider改变$cookies服务的默认行为. 默认属性 path:字符串,cookies只在这个路径及其子路径可用.默认情况下,这个将会是 ...
- 《selenium2 python 自动化测试实战》(17)——几个cookies操作
之前我们已经学过利用cookies跳过验证码登录了,那时候我们用的方法是add_cookie()方法,这里再给大家介绍两个,一般情况下我们用不到,了解一下就可以,而且如果真的用到的时候百度也很快的: ...
- flask的cookies操作
from flask import Flask,request,Response app = Flask(__name__) @app.route('/') def hello_world(): re ...
- angularjs DOM操作之jqLite篇
angular.element(el).find("input").attr({value:1}); * ## Angular's jqLite * jqLite provides ...
随机推荐
- 如何在 ie6 中使用 "localStorage"
好吧,我只是个标题党,ie6 下根本无法使用跟 h5 沾边的 localStorage.今天要向大家介绍的是 ie 特有的 userData 的存储方式,并且对它进行封装,使得不支持 localSto ...
- node 学习笔记 - Modules 模块加载系统 (2)
本文同步自我的个人博客:http://www.52cik.com/2015/12/14/learn-node-modules-module.html 上一篇讲了模块是如何被寻找到然后加载进来的,这篇则 ...
- 【python游戏编程之旅】第七篇---pygame中的冲突检测技术
本系列博客介绍以python+pygame库进行小游戏的开发.有写的不对之处还望各位海涵. 上一个博客我们一起学习了pygame中的Sprite模块和如何加载动画:http://www.cnblogs ...
- 高仿Windows Phone QQ登录界面
给 TextBox文本框前添加图片 扩展PhoneTextBox:添加一个类"ExtentPhoneTextBox"继承 PhoneTextBox ,在"ExtentPh ...
- nios II--实验4——按键中断软件部分
软件开发 首先,在硬件工程文件夹里面新建一个software的文件夹用于放置软件部分:打开toolsàNios II 11.0 Software Build Tools for Eclipse,需要进 ...
- 通过Ajax实现增删改查
项目链接:https://github.com/shuai7boy/Ajax_CRUD 简要截图:
- Cadence Allegro元件封装制作流程
(本文为转载,原文出处不详) 引言 一个元件封装的制作过程如下图所示.简单来说,首先用户需要制作自己的焊盘库Pads,包括普通焊盘形状Shape Symbol和花焊盘形状Flash Symbol:然后 ...
- ElasticSearch入门系列(六)分布式操作
一.路由文档到分片 当你索引一个文档的时候,他被存储在单独一个主分片上.Elasticsearch根据一个算法来找到所在分片上. shard=hash(routing)%number_of_prima ...
- 开发错误12:gradle编译错误:Conflict with dependency com.android.support:support-annotations
在build.gradle中的configurations.all {}下添加:resolutionStrategy.force 'com.android.support:support-annota ...
- centos中crontab(计时器)用法详解
关于crontab: crontab命令常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令.该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行.该 ...