当前位置: 首页 > news >正文

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

相关文章:

  • Python基础(面向对象之封装与继承)
  • PAM 验证.so动态链接库
  • 跟学我Kafka源码搭建环境(一)
  • redhat下配置SEED DVS6446开发环境2
  • IntelliJ IDEA导出Java 可执行Jar包
  • 整合大量开源库项目(六)ListView动画,Activityquot;抽象化quot;,顺便提一提”抽象类“Andquot;接口quot;...
  • python---小技巧
  • 《将博客搬至CSDN》
  • 被误解的 MVC 和被神化的 MVVM
  • 老李分享:qtp自动化测试框架赏析-关键字自动化测试框架 2
  • 下载spring-framework链接
  • cocos2d-x android环境搭建总结
  • Android布局中的空格以及占一个汉字宽度的空格,实现不同汉字字数对齐
  • JDBCRealm Http Digest
  • 开始nodejs+express的学习+实践(1)
  • [笔记] php常见简单功能及函数
  • [译]CSS 居中(Center)方法大合集
  • Git同步原始仓库到Fork仓库中
  • HashMap ConcurrentHashMap
  • java8-模拟hadoop
  • Java方法详解
  • jquery ajax学习笔记
  • mysql_config not found
  • python学习笔记 - ThreadLocal
  • Redis中的lru算法实现
  • Spring Cloud Feign的两种使用姿势
  • Vue学习第二天
  • 短视频宝贝=慢?阿里巴巴工程师这样秒开短视频
  • 构造函数(constructor)与原型链(prototype)关系
  • 关于Android中设置闹钟的相对比较完善的解决方案
  • 基于Android乐音识别(2)
  • 技术:超级实用的电脑小技巧
  • 检测对象或数组
  • 如何将自己的网站分享到QQ空间,微信,微博等等
  • 如何优雅的使用vue+Dcloud(Hbuild)开发混合app
  • 适配mpvue平台的的微信小程序日历组件mpvue-calendar
  • 第二十章:异步和文件I/O.(二十三)
  • (编译到47%失败)to be deleted
  • (第27天)Oracle 数据泵转换分区表
  • (读书笔记)Javascript高级程序设计---ECMAScript基础
  • (附源码)springboot家庭财务分析系统 毕业设计641323
  • (附源码)ssm高校升本考试管理系统 毕业设计 201631
  • (强烈推荐)移动端音视频从零到上手(上)
  • (入门自用)--C++--抽象类--多态原理--虚表--1020
  • (三)Honghu Cloud云架构一定时调度平台
  • (十一)c52学习之旅-动态数码管
  • (转)visual stdio 书签功能介绍
  • (转)Windows2003安全设置/维护
  • .NET MVC第三章、三种传值方式
  • .net6+aspose.words导出word并转pdf
  • .NetCore Flurl.Http 升级到4.0后 https 无法建立SSL连接
  • .netcore如何运行环境安装到Linux服务器
  • .Net下C#针对Excel开发控件汇总(ClosedXML,EPPlus,NPOI)
  • ?
  • @Autowired标签与 @Resource标签 的区别