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 ...
随机推荐
- C# .NET Visual Studio VS2008如何显示行号
工具-选项,然后勾选"显示所有设置",然后在文本编辑器下面找到所有语言,勾选"行号"即可.
- VB打开project时出现冲突名称提示
在敲机房时因为窗口命名不合适,我就改动了下窗口.可是保存后再打开的时候.却出现以下的提示: 这样的情况出现.通常是因为引用了别人的窗口文件,或者是改动窗口的名字可是就是找不到不论什么冲突的地方.事实上 ...
- Vue 实现原理
vue.js是数据驱动web界面的库.vue核心思想个:数据驱动.组件系统 vue实现数据驱动视图原理 数据驱动是vue最大特点,所谓的数据驱动就是:当数据发生变化的时候,界面会相应的变化,我们不需要 ...
- 编程算法 - 最小的k个数 代码(C)
最小的k个数 代码(C) 本文地址: http://blog.csdn.net/caroline_wendy 题目: 输入n个整数, 找出当中的最小k个数. 使用高速排序(Quick Sort)的方法 ...
- B. Amr and The Large Array(Codeforces Round #312 (Div. 2)+找出现次数最多且区间最小)
B. Amr and The Large Array time limit per test 1 second memory limit per test 256 megabytes input st ...
- 2015 Multi-University Training Contest 4 1001 Olympiad
代码: #include<cstdio> #include<cstring> #include<set> using namespace std; int vis[ ...
- 仰视源代码,实现strcmp
//这是系统库的实现 int strcmp(const char* src, const char* dest) { int rtn = 0; while(!(rtn = *(unsigned cha ...
- bzoj3550: [ONTAK2010]Vacation&&bzoj3112: [Zjoi2013]防守战线
学了下单纯形法解线性规划 看起来好像并不是特别难,第二个code有注释.我还有...*=-....这个不是特别懂 第一个是正常的,第二个是解对偶问题的 #include<cstdio> # ...
- 5 Application 对象
5.1鸟瞰Application对象 5.2 必须了解的面向显示特性 5.2.1 使用ScreenUpdating改进和完善执行性能 代码清单5.1:实现屏幕更新的性能 '代码清单5.1: 实现屏幕更 ...
- jQuery:has()和jQuery:contains()及jQuery:empty
jQuery:has()和jQuery:contains()两个方法比较类似.不同点在于: has是判断标签的 contains是判断文本的 1.jQuery:has() <div>< ...