什么是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详解的更多相关文章

  1. JSON详解(转)

    JSON详解 JSON的全称是”JavaScript Object Notation”,意思是JavaScript对象表示法,它是一种基于文本,独立于语言的轻量级数据交换格式.XML也是一种数据交换格 ...

  2. JSON详解(转载)

    JSON详解 阅读目录 JSON的两种结构 认识JSON字符串 在JS中如何使用JSON 在.NET中如何使用JSON 总结 JSON的全称是”JavaScript Object Notation”, ...

  3. javaScript系列:JSON详解

    JSON详解   JSON的全称是”JavaScript Object Notation”,意思是JavaScript对象表示法,它是一种基于文本,独立于语言的轻量级数据交换格式.XML也是一种数据交 ...

  4. Spring Boot 之使用 Json 详解

    Spring Boot 之使用 Json 详解 简介 Spring Boot 支持的 Json 库 Spring Web 中的序列化.反序列化 指定类的 Json 序列化.反序列化 @JsonTest ...

  5. 问题:JsonConvert;结果:JSON详解

    JSON详解 JSON的全称是”JavaScript Object Notation”,意思是JavaScript对象表示法,它是一种基于文本,独立于语言的轻量级数据交换格式.XML也是一种数据交换格 ...

  6. JSON详解+ C# String.Format格式说明+ C# ListView用法详解 很完整

    JSON详解 C# String.Format格式说明 C# ListView用法详解 很完整

  7. Cookie技术详解

    1. Cookie的特性 属性: 1> name: Cookie的名字 2> value: Cookie的值 3> path: 可选,Cookie的存储路径,默认情况下的存储路径时访 ...

  8. c++ json 详解

    一. 使用jsoncpp解析json Jsoncpp是个跨平台的开源库,首先从http://jsoncpp.sourceforge.net/上下载jsoncpp库源码,我下载的是v0.5.0,压缩包大 ...

  9. axios携带cookie配置详解(axios+koa) 原

    话不多说,一个字,干! 前端配置如下: axios.defaults.withCredentials = true; //配置为tru openid: 'oJ0mVw4QrfS603gFa_uAFDA ...

随机推荐

  1. angularJS 系列(七)

    In AngularJS 1.3+, there is One-time binding built-in: The main purpose of one-time binding expressi ...

  2. CCNA参考链接

    http://www.cisco.com/c/en/us/support/docs/lan-switching/vtp/10558-21.html http://www.cisco.com/c/en/ ...

  3. day03-hdfs的客户端操作\hdfs的java客户端编程

    5.hdfs的客户端操作 客户端的理解 hdfs的客户端有多种形式: 1.网页形式 2.命令行形式 3.客户端在哪里运行,没有约束,只要运行客户端的机器能够跟hdfs集群联网 文件的切块大小和存储的副 ...

  4. js_html_input中autocomplete="off"在chrom中失效的解决办法 使用JS模拟锚点跳转 js如何获取url参数 C#模拟httpwebrequest请求_向服务器模拟cookie发送 实习期学到的技术(一) LinqPad的变量比较功能 ASP.NET EF 使用LinqPad 快速学习Linq

    js_html_input中autocomplete="off"在chrom中失效的解决办法 分享网上的2种办法: 1-可以在不需要默认填写的input框中设置 autocompl ...

  5. 在阿里云域名https配置(nginx为例)

    如题: 在阿里云上注册了域名之后在阿里云域名控制台配置https: 1.在域名控制台选择要配置的域名,并在操作栏点击“解析” 2.在域名解析点击更多下的SSL进入到证书列表页,这里有收费的也有免费的, ...

  6. WebSocket服务端

    http://blog.csdn.net/qq_20282263/article/details/54310737 C# 实现WebSocket服务端 原创 2017年01月10日 09:22:50 ...

  7. Python学习笔记17:标准库之数学相关(math包,random包)

    前面几节看得真心累.如今先来点简单easy理解的内容. 一 math包 math包主要处理数学相关的运算. 常数 math.e   # 自然常数e math.pi  # 圆周率pi 运算函数 math ...

  8. HDU 5428 分解质因数

                                                                                                   The F ...

  9. MIPI接口

    接口 分辨率 说明 RGB 800*480以下 大部分AP均支持RGB接口,此类LCD在低端平板广泛使用 LVDS 1024*768及以上 主要通过转换芯片将RGB等专程LVDS来支持:少量AP直接集 ...

  10. SP2916 GSS5 - Can you answer these queries V

    给定一个序列.查询左端点在$[x_1, y_1]$之间,且右端点在$[x_2, y_2]$之间的最大子段和,数据保证$x_1\leq x_2,y_1\leq y_2$,但是不保证端点所在的区间不重合 ...