赞助
 // ajax的兼容处理

        // 1.创建ajax对象

        // 标准浏览器
        // const xhr = new XMLHttpRequest();

        // 低版本IE浏览器
        // const xhr = new ActiveXObject('Microsoft.XMLHTTP');

        // 兼容语法
        let xhr;
        if(XMLHttpRequest){
            xhr = new XMLHttpRequest();
        }else{
            xhr =  new ActiveXObject('Microsoft.XMLHTTP');
        }

        // 定义传参对象url地址
        xhr.open();

        // 发送请求
        xhr.send();

        // 接收请求

        // 标准浏览器 
        // xhr.onload = function(){}

        // 低版本IE浏览器
        // 判断 状态码是否是 200 - 299 
        // 判断 请求步骤是否已经结束

        // 当请求步骤发生改变时,触发函数程序
        xhr.onreadystatechange = function(){
            // 判断请求步骤数值是 4 表示请求结束
            // 判断http的请求状态码 是 200-299 表示请求成功,此时,判断请求成功并且接收响应体内容
            // 以 2 开头 之后跟 2位数值 --- 2开始的三位数
            // /^2\d{2}&/.test(xhr.status)
            if( xhr.readyState === 4 && ( xhr.status >= 200 && xhr.status <= 299 ) ){

            }
        }
 
// ajax的请求步骤 

        // 请求步骤 xhr.readyState 

        // 同步
        // 0 --- 创建ajax对象
        // 1 --- 设定ajax请求地址和请求方式

        // 异步
        // 2 --- 发送ajax请求
        // 3 --- 接收ajax响应报文,解析响应体中的内容

        // 4 --- ajax请求完全结束,并且响应体内容解析完成
        //       

        // http的请求状态码 xhr.status
        //   200-299表示成功 
 
   // ajax 请求同步异步设定
        // ajax请求默认执行的都是异步请求
        // 实际项目中 ajax 也必须按照 异步请求执行
        // 不要设定为 同步请求
        // 如果必须乣执行 同步请求 效果,会使用其他语法形式解决
        // 其他语法形式 : ES7 中新增的  async 和 await
posted on 2020-12-09 16:55  Tsunami黄嵩粟  阅读(97)  评论(0编辑  收藏  举报