zoukankan      html  css  js  c++  java
  • 2.封装简单的Ajax

    <script>
            //简单的封装一个ajax
            /**
             * ajax: async javascript and json
             *  主要用来实现前后端的数据交流
             * A要发送一个信息给B
             *  请求当中需要有的基本信息
             *      1.B的地址
             *      2.请求方式
             *      3.请求数据
             *      4.状态码(B是否正常接收数据)
             *      5.响应数据
             *  XMLHttpRequest对象
             * 五层网络模型:
             *  物理层
             *  数据链路层
             *  网络层
             *  传输层
             *  应用层
             */
            function ajax(options){
                var xhr = null;
                if(window.XMLHttpRequest){
                    xhr = new XMLHttpRequest();
                }else{//兼容IE6
                    xhr = new ActiveXObject('Microsoft.XMLHTTP');
                }
                
                xhr.onreadystatechange = function(){//监听响应事件
                    //readyState的几个值
                    //0:当前代理已经被创建,还没有调用open方法
                    //1:调用了open方法,建议连接
                    //2:send方法已经被调用
                    //3:代表正在接收相应信息
                    //4:代表响应数据全部发送完成
                    //status的几个值
                    //200:正常响应
                    if(xhr.readyState == 4 && ){
                        if(xhr.status == 200){
                            options.success(JSON.parse(xhr.responseText));
                        }else{
                            console.log('error');
                        } 
                    }
                }
    
                if(options.type == 'GET'){
                    xhr.open(options.type, options.url + '?' + options.data, options.flag);
                    xhr.send();
                }else if(options.type == 'POST'){
                    xhr.open(options.type, options.url, options.flag);
                    xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');//请求头的编码类型:key=value&key1=value1
                    xhr.send(options.data);
                }
            } 
        </script>
    Ajax.js
  • 相关阅读:
    swift -- 静态变量static
    swift -- 单例+ lazy懒加载 + 第三方库
    swift -- 代理delegate
    swift -- 闭包
    swift -- 构造/析构函数
    swift -- 继承
    swift -- as / 扩展
    swift -- 类中的方法
    swift -- 类和结构体
    C 扩展库
  • 原文地址:https://www.cnblogs.com/lanshanxiao/p/12902892.html
Copyright © 2011-2022 走看看