cookie和ajax

118 阅读1分钟

一:cookie

1:封装一个设置cookie的函数

cookie要想别覆盖,name值一样;
<button onclick="setCookie('house','唐朝',2)">设置cookie</button>
<button onclick="setCookie('car','CTH',1)">设置cookie</button>
<button onclick="getCookie('house')">获取house的值</button>
<button onclick="getCookie('car')">获取car的值</button>
<button onclick="delCookie('house')">删除house的值</button>
<button onclick="delCookie('car')">删除car的值</butt
   
     @params name  字符串类型 例如: 'username'
     @params value  字符串类型  例如: '123456'
     @params time  数字类型 例如:延迟的天数  2
     
      function setCookie(name, value, time) {
        let oDate = new Date();
        oDate.setDate(oDate.getDate() + time);
        document.cookie = name + '=' + value + ';expires=' + oDate;
    }
    /*   setCookie('car','CTH',1);
      setCookie('house','唐朝',2); */
     
     用按钮的方式设置cookie的值,下面的setCookie值无需写
     
     

2:查询,获取其中一个cookie的值;getCookie

   function getCookie(name) {
        var str = document.cookie;
        var arr1 = str.split(';'); 
        将['name=唐朝';'name=car'] 用;分割成数组['name=唐朝','name=car']
       /*    console.log('arr1',arr1);  */
        for (var i = 0; i < arr1.length; i++) { 采取遍历
            /* console.log('arr1[i]',i,arr1[i]);  */
            var arr2 = arr1[i].split('=')   //用= 当成分割符 分割['house','唐朝']
            console.log('第二个数字', arr2);
            if (name == arr2[0].trim())
                console.log(arr2[1]);

        }
    }
    

3:删除cookie的值 将时间-1 变成过期的时间

    function delCookie(name) {
        var oDate = new Date();
        oDate.setDate(oDate.getDate() - 1);
        document.cookie = name + '=;expires=' + oDate;
    }
    

二:ajax

1:ajax含义:

是一种无需重新加载整个网页的情况下,能够更新部分网页的技术局部更新;

2:创建ajax

    第一步 new一个XttpREquest的实例化对象
    var xhr = new XMLHttpRequest();
    
     第二步连接到服务器
    //open(方法,文件名,同步异步)
    //参数1:get post
    //参数2:请求的文件名
    //参数3:同步异步  
   xhr.open('get','abc.txt',true)
   
    第三步 发生请求
    xhr.send();
    第四步 接收返回值
    //onreadystatechange监听返回值
    
    xhr.onreadystatechange=function(){
        console.log(xhr.responseText);

    }