zoukankan      html  css  js  c++  java
  • 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"}'

  • 相关阅读:
    2019年8月16日_实验室学术论文研讨
    2019年8月2日实验室学术研讨会议
    2019年7月26日实验室学术研讨会议
    2019年7月12日实验室开展学术研讨
    hdu 5547
    hdu 1286
    hdu 1272
    hdu 1213
    poj 2533 LIS(最长上升序列)
    HUD 5773 LIS(最长上升序列)
  • 原文地址:https://www.cnblogs.com/lhl66/p/7712109.html
Copyright © 2011-2022 走看看