zoukankan      html  css  js  c++  java
  • Ajax原理实现

    jQuery的ajax实现原理:

    // 1.创建一个XMLHttpRequest对象
    var xhr = new XMLHttpRequest();
    
    // 2.打开请求
    xhr.open('METHOD', 'URL/TO/SEND', true, null, null);
    
    // 3.设置请求头
    each(headers, function (key, value) {
        xhr.setRequestHeader(key, value);
    });
    
    // 4.绑定响应函数
    xhr.onreadystatechange = function () {
        if (xhr.readyState === 4) {
            xhr.onreadystatechange = null;
    
            // 6.获取响应状态码
            var status = xhr.status === 1223 ? 204 : xhr.status;
    
            // 7.获取响应文本
            var statusText = xhr.statusText;
    
            // 8.获取响应内容(对于现代浏览器,返回的值不是文本的情况下,可能要取xhr.response)
            var response = xhr.responseText;
    
            //9.处理返回的响应头
            var responseHeadersString = xhr.getAllResponseHeaders();
            var responseHeaders = {};
            var match;
            while ((match = /^(.*?):[ 	]*([^
    ]*)
    ?$/g.exec(responseHeadersString))) {
                responseHeaders[match[1]] = match[2];
            }
            // 执行回调函数
            complete(status, statusText, response, responseHeaders);
        }
    };
    
    // 5.发送数据
    xhr.send(data);
    

      

    总结:

    一共9步骤:

    create -> open -> requestHeader -> bind onreadychange -> send -> status -> statusText-> responseHeader -> complete 

  • 相关阅读:
    JAVA算术运算符
    java框架
    面向对象DAO模式
    JAVA JDK配置
    集合框架
    异常
    centos 部署 aspnetMVC 网页
    SQL四种语言:DDL,DML,DCL,TCL 的区别
    javascript download geoserver layer as kml file
    常用协议 —— hessian://
  • 原文地址:https://www.cnblogs.com/QingFlye/p/4172373.html
Copyright © 2011-2022 走看看