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
  • 相关阅读:
    FZU 2150 Fire Game
    POJ 3414 Pots
    POJ 3087 Shuffle'm Up
    POJ 3126 Prime Path
    POJ 1426 Find The Multiple
    POJ 3278 Catch That Cow
    字符数组
    HDU 1238 Substing
    欧几里德和扩展欧几里德详解 以及例题CodeForces 7C
    Codeforces 591B Rebranding
  • 原文地址:https://www.cnblogs.com/lanshanxiao/p/12902892.html
Copyright © 2011-2022 走看看