cookie、json详解
什么是cookie
1.cookie是存储于访问者计算机中的变量
2.cookie是浏览器提供的一种机制
3.可以由js控制(设置、读取、删除)
4.cookie可以实现跨页面全局变量可以跨越同域名下多个网页,但不能跨越多个域名使用
5.同一个网站所有页面共享一套cookie 可以设置有效期限存储空间大概4kb左右
6.cookie机制将信息存储于用户硬盘,因此可以作为跨页面全局变量,这是它最大的一个优点。
常用场合
1.保存用户登入状态
2.跟踪用户行为
3.订制页面
4.购物车(记录商品)
缺点
cookie可能被禁用
cookie与浏览器相关,不能相互访问
cookie可能被用户删除
cookie安全性不够高(纯文本记录)
cookie储存空间小4kb
设置cookie(在谷歌浏览器application----->cookie里面看得到)
每个cookie是一个名/值/对(key=value)格式的字符串---->typeof 检测
document.cookie="user=liming"
改变cookie:重新赋值
document.cookie="user=xiaoming";
设置有效期:
var dates = new Date();
dates.setDate(dates.getDate()+3);//按天数设置(当前日期加三天)
document.cookie="password=123456;expires="+dates;
获取cookie
var cookies = document.cookie;----->所有的cookie都获取到了
cookie只能一次性获取所有cookie值;
split()切割字符串获取单独cookie值;
var cookieArr = cookie.split("; ");---->分号空格切割
console.log(cookieArr)---->转换成数组 键值对的形式
for(var i=0;i<cookieArr.length;i++){
var cookieArr2 = cookieArr[i].split("=");
console.log(cookieArr2);
}
封装成函数:
function getCookie(key){ ---->键名传进来
var arr =document.cookie.split("; ");
for(var i=0;i<arr.length;i++){
var arr2=arr[i].split("=");
if(arr2[0]==key){
return arr2[1];----->返回这个值;
}
}
return false;
}
console.log(getCookie("user"));
删除cookie:
var date2 = new Date();
dates.setDate(date2.getDate()-1);//按天数设置(过去一天任何数字都行只要是过期)
document.cookie="password=123456;expires="+date2;
JSON:轻量级的数据交换格式,是js原生数据格式。
对象键名可以不加引号;但是json一定要 而且json文件不可以写注释;
json字符串,但不是json对象。
var json = '{"name":"xiaoming";"sex":"男";"age":"28"};'
正常的json
var jsondata = {"name":"xiaoming";"sex":"男";"age":"28"}
alert(json.name)
解析
var json2 = eval("("+json+")");--->使用eval函数解析JSON是一种很不安全的方式,能不用最好就不用,
原因是eval不但可以解析JSON字符串,还会执行其中的代码块(如果有的话)
所以我们比较常用的就是使用JSON.parse()方法解析
var json2 = JSON.parse(jsondata);
for in循环解析json数据
for(var i in json){
console.log(i)
console.log(i+";"+json2[i]) ---->i为键名
}
ajax 去掉缓存就是加上new Date().getTime()--->get方法会产生缓存,post一般无需考虑
JSON.stringify(obj) : 将一个JSON对象转换成字符串。
parse用于从一个字符串中解析出json对象,如
var str = '{"name":"huangxiaojian","age":"23"}'
cookie、json详解的更多相关文章
- JSON详解(转)
JSON详解 JSON的全称是”JavaScript Object Notation”,意思是JavaScript对象表示法,它是一种基于文本,独立于语言的轻量级数据交换格式.XML也是一种数据交换格 ...
- JSON详解(转载)
JSON详解 阅读目录 JSON的两种结构 认识JSON字符串 在JS中如何使用JSON 在.NET中如何使用JSON 总结 JSON的全称是”JavaScript Object Notation”, ...
- javaScript系列:JSON详解
JSON详解 JSON的全称是”JavaScript Object Notation”,意思是JavaScript对象表示法,它是一种基于文本,独立于语言的轻量级数据交换格式.XML也是一种数据交 ...
- Spring Boot 之使用 Json 详解
Spring Boot 之使用 Json 详解 简介 Spring Boot 支持的 Json 库 Spring Web 中的序列化.反序列化 指定类的 Json 序列化.反序列化 @JsonTest ...
- 问题:JsonConvert;结果:JSON详解
JSON详解 JSON的全称是”JavaScript Object Notation”,意思是JavaScript对象表示法,它是一种基于文本,独立于语言的轻量级数据交换格式.XML也是一种数据交换格 ...
- JSON详解+ C# String.Format格式说明+ C# ListView用法详解 很完整
JSON详解 C# String.Format格式说明 C# ListView用法详解 很完整
- Cookie技术详解
1. Cookie的特性 属性: 1> name: Cookie的名字 2> value: Cookie的值 3> path: 可选,Cookie的存储路径,默认情况下的存储路径时访 ...
- c++ json 详解
一. 使用jsoncpp解析json Jsoncpp是个跨平台的开源库,首先从http://jsoncpp.sourceforge.net/上下载jsoncpp库源码,我下载的是v0.5.0,压缩包大 ...
- axios携带cookie配置详解(axios+koa) 原
话不多说,一个字,干! 前端配置如下: axios.defaults.withCredentials = true; //配置为tru openid: 'oJ0mVw4QrfS603gFa_uAFDA ...
随机推荐
- 条款十五: 让operator=返回*this的引用
c++程序员经常犯的一个错误是让operator=返回void,这好象没什么不合理的,但它妨碍了连续(链式)赋值操作,所以不要这样做. 一般情况下几乎总要遵循operator=输入和返回的都是类对象的 ...
- 第二十七篇:Windows驱动中的PCI, DMA, ISR, DPC, ScatterGater, MapRegsiter, CommonBuffer, ConfigSpace
近期有些人问我PCI设备驱动的问题, 和他们交流过后, 我建议他们先看一看<<The Windows NT Device Driver Book>>这本书, 个人感觉, 这本书 ...
- 鸟哥的Linux私房菜-----9、vi文本处理器
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaGVrZXdhbmd6aQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQk ...
- 利用runtime检測这个对象是否存在某属性?
假定有实例对象-instance,我们怎样知道该实例对象是否存在属性-propertyName? 利用runtime,我们能够获取到它的属性列表 1)属性列表 unsigned int outCoun ...
- ORA-00907: 缺失右括号(通用解决办法)
PL/SQL 的SQL语句可以执行,但是放在hibernate中,后台打印,出现了错误. 错误的SQL解析:黄色为错误部分 Hibernate: select examine ...
- CSS总结01
1 CSS 的作用是? 2 如何引入 CSS 样式? 3 CSS 选择器的基本类型和复合选择器分别是? 4 字体.背景.列表和链接和鼠标的属性有哪些? 5 如何理解盒子模型? 6 浮动的方式有哪些,如 ...
- spring 之 IOC 依赖注入详解
当我们对一个javaBean进行实例化时,在原本的情况下我们会选择新建一个接口,然后进行实例化,为了进一步降低耦合度我们还会使用工厂模式进行封装. 例: 当我们想要去造,Chinese.America ...
- HDU 5855Less Time, More profit
Less Time, More profit Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/O ...
- ARM+linux系统移植3G拨号上网收发短信(三)【转】
本文转载自:http://blog.csdn.net/hanmengaidudu/article/details/17099755 一.用text查看模式下面的“发”是指我敲的命令,“收”是指回车后显 ...
- linux 查看php扩展
php -i |less 查看配置文件在哪里,编译参数 php -m |less 查看php加载的模块 less可以自由的上下访问,比more要灵活一点. 如果不使用less,信息一次性给予,不太好查 ...