JavaScript 封装cookie和Ajax

86 阅读1分钟

封装cookie

    <body>
    <button onclick="setCookie('house','房子','1')">设置房</button>
    <button onclick="setCookie('car','奔奔','1')">设置车</button>
    <button onclick="getCookie('house')">获取房</button>
    <button onclick="getCookie('car')">获取车</button>
    <button onclick="delCookie('car')">删除车</button>
    <button onclick="delCookie('house')">删除房</button>
    <script>
        /* document.cookie='username = zhangsan ' */
        /* 封装 一个设置cookie的函数 */

        /* @params name String 例如  'username' */
        /* @params value String 例如 '123456' */ 
        /* @params time Number 例如  2*/

        /* 设置cookie的值 */
        function setCookie(name,value,time){
            let oDate=new Date();
            oDate.setDate(oDate.getDate()+time)
            document.cookie=name + '=' + value + ';expires=' + oDate;
        }
        /* setCookie('car','CT5','1')
        setCookie('house','卷卷','1') */


        /* 获取cookie的值 */
        function getCookie(name){
                let str=document.cookie
                let arr1=str.split(';')
                console.log('arr1',arr1);
                for(var i=0;i<arr1.length;i++){
                    /* console.log('arr1[i]',arr1[i]) */
                    var arr2=arr1[i].split('=');
                    console.log('第二个数组',arr2)
                    if(name==arr2[0].trim()){
                        console.log(arr2[1])
                    }   
                }
        }

        /* 删除cookie的值 */
        function delCookie(name){
            let oDate=new Date();
            oDate.setDate(oDate.getDate()-1)
            /* document.cookie=name + '='+';expires=' + oDate; */
            document.cookie=name + '=;expires=' + oDate;
        }
    </script>
  </body>
    

Ajax

    <body>
        <!-- form表单提交数据 会把整个网页进行提交,重新加载整个网页 -->
        <form action="" method="get">
            <p>用户名  <input type="text" name="" id=""> 
                 <input type="submit" value="提交">
            </p>
        </form>
        <script>
            /* Ajax是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术局部更新 */

            /* 创建Ajax的步骤 */
            /* 第一步  创建Ajax对象 */
            /* new 一个XMLHttpRequest实例化对象 */
            let xhr=new XMLHttpRequest()
            console.log(xhr);

            /* 第二步 连接到服务器 */
            /*open(方法,文件名,同步异步)
                 参数一: post/get
                 参数二:请求的文件名
                 参数三:同步(false)异步((true) */
            xhr.open('get','abc.txt',true)

            /* 第三步 发送请求 */
            xhr.send()

            /* 第四步 接收返回值 */
            /* 监听返回值 */
            xhr.onreadystatechange=function(){
                /*xhr.responseText 是通过Ajax请求获得的数据 */
                console.log(xhr.responseText);
            }
            /* 必须使用Live sever 打开页面 */
        </script>
    </body>