JS 手写原生的ajax

记录一下:

    //post需要设置请求头 setRequestHeader(name, value)name 
        //头部的名称:这个参数不应该包括空白、冒号或换行
        //value 头部的值:这个参数不应该包括换行
        //约束:此方法设置请求头信息,必须在open()之后send()之前
    function requestFunction() {
        if (window.ActiveXObject) {
            // IE6, IE5 浏览器执行代码
            xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
        } else if (window.XMLHttpRequest) {
            // IE7+, Firefox, Chrome, Opera, Safari 浏览器执行代码
            xmlHttp = new XMLHttpRequest();
        };
        if (xmlHttp) {
            xmlHttp.open('GET','api',true);  //类型 请求路径 是否异步 true异步 false同步(send()方法会阻塞并不会返回,直到 readyState为4,并且服务器的响应被完全接收才返回)
            // xmlhttp.setRequestHeader("token","header-token-value"); //post方式
            xmlHttp.send();  //发送请求
            // xmlHttp.send("user="+username+"&pwd="+password);   //post方式传参
            xmlHttp.onreadystatechange = resultHandle();
        }else(
            alert('不支持')
        );

        function resultHandle() {
            if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {
                    console.log(xmlHttp.requestText)
            }
        }

    }

 

posted @ 2019-04-27 23:22  yangchin9  阅读(151)  评论(0编辑  收藏  举报