// 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

ajax兼容处理的更多相关文章

  1. IE8下ajax兼容问题

    function crossDomainAjax(url, successCallback) { // IE8 & 9 only Cross domain JSON GET request i ...

  2. 创建Ajax兼容

    var request = new XMLHttpRequest(); IE7以下: var request = new ActiveXObject("Microsoft.XMLHTTP&q ...

  3. AJAX原理解析与兼容方法封装

    AJAX常用参数 AJAX对象兼容 AJAX对象方法与属性 AJAX封装兼容方法源码 AJAX全称Asynchronous JavaScript and XML(异步的JavaScript与XML), ...

  4. JavaScript封装Ajax工具函数及jQuery中的ajax,xhr在IE的兼容

    封装ajax工具函数 首先要思考:1.为什么要封装它?提高开发效率2.把一些不确定的情况考虑在其中 a. 请求方式 b. 请求地址 c. 是否异步 d. 发送参数 e. 成功处理 f. 失败处理3.确 ...

  5. jquery ajax 前前后后,所有的函数并查询链接

    jQuery Ajax 操作函数 jQuery 库拥有完整的 Ajax 兼容套件.其中的函数和方法允许我们在不刷新浏览器的情况下从服务器加载数据. 函数 描述 jQuery.ajax() 执行异步 H ...

  6. JQ学习(三)-ajax

    jQuery - AJAX jQuery load() 方法 jQuery load() 方法是简单但强大的 AJAX 方法. load() 方法从服务器加载数据,并把返回的数据放入被选元素中. 语法 ...

  7. jquery的常用ajax操作

    $.ajax() 定义和用法 ajax() 方法通过 HTTP 请求加载远程数据. 该方法是 jQuery 底层 AJAX 实现.简单易用的高层实现见 $.get, $.post 等.$.ajax() ...

  8. jQuery Ajax 操作函数及deferred对象

    jQuery Ajax 操作函数 jQuery 库拥有完整的 Ajax 兼容套件.其中的函数和方法允许我们在不刷新浏览器的情况下从服务器加载数据. 函数 描述 jQuery.ajax() 执行异步 H ...

  9. jQuery Ajax 操作函数

    jQuery Ajax 操作函数 jQuery 库拥有完整的 Ajax 兼容套件.其中的函数和方法允许我们在不刷新浏览器的情况下从服务器加载数据. 函数 描述 jQuery.ajax() 执行异步 H ...

  10. 使用原生js写ajax

    // 使用原生js 封装ajax // 兼容xhr对象 function createXHR(){ if(typeof XMLHttpRequest != "undefined") ...

随机推荐

  1. Webpack Proxy工作原理?为什么能解决跨域?

    一.是什么 webpack proxy,即webpack提供的代理服务 基本行为就是接收客户端发送的请求后转发给其他服务器 其目的是为了便于开发者在开发模式下解决跨域问题(浏览器安全策略限制) 想要实 ...

  2. 力扣454(java&python)-四数相加 II(中等)

    题目: 给你四个整数数组 nums1.nums2.nums3 和 nums4 ,数组长度都是 n ,请你计算有多少个元组 (i, j, k, l) 能满足: 0 <= i, j, k, l &l ...

  3. 牛客网-SQL专项训练6

    ①要将employee 的表名更改为 employee_info,下面MySQL语句正确的是(A) 解析: RENAME用于表的重命名:RENAME  <NAME>(修改表名或索引名) 或 ...

  4. Java编程技巧之样板代码

    简介: 在日常编码的过程中,可以总结出很多"样板代码",就像"活字印刷术中的"活字"一样.当我们编写新的代码时,需要用到这些"活字" ...

  5. [Py] Python json str 字符串转为对象 (字典)

    import json json = '{"code": 0}' # Deserialize ``s`` (a ``str``, ``bytes`` or ``bytearray` ...

  6. dotnet 将控制台 Console.WriteLine 内容输出到文件

    很多伙伴喜欢使用 Console.WriteLine 打日志,也许是打起来顺手.打完了之后,又想着,要是能够输出到本机文件那就更好了.既然很多伙伴都有这个想法,那 dotnet 自然就是有方便的方法让 ...

  7. ChatGPT,我的 .NET 应用该选择哪种日志框架?

    When using .NET 6, compare different main stream third-party logging packages, and give suggestions ...

  8. 【保姆级Python入门教程】马哥手把手带你安装Python、安装Pycharm、环境配置教程

    您好,我是 @马哥python说 ,一枚10年程序猿. 我的社群中小白越来越多,咨询讨论的问题很多集中在python安装上,故输出此文,希望对大家起步有帮助. 下面开始,先安装Python,再安装py ...

  9. 如何实现一个简单易用的 RocketMQ SDK

    2018 年,做为架构负责人,接到一个架构需求:实现一个简单易用的 RocketMQ SDK . 因为各个团队 RocketMQ 原生客户端配置起来千奇百怪,有的配置存在风险,各团队负责人都需要一个简 ...

  10. rails 上传文件

    控制器文件 app/controllers/api/v1/order_controller.rb def create # 从本地读取 log_dir = File.expand_path(File. ...