当前位置 : 主页 > 网络编程 > JavaScript >

封装JavaScript的ajax请求

来源:互联网 收集:自由互联 发布时间:2021-06-28
gistfile1.txt function getAjax(request,DataType,url,reqData,func){ //封装post get请求的ajax函数 //request 请求类型 post?get //DataType 数据类型?text/json/xml //url 地址 //reqDate 请求带回后台的数据 //func 执行函数
gistfile1.txt
function  getAjax(request,DataType,url,reqData,func){
        //封装post get请求的ajax函数
        //request   请求类型 post?get
        //DataType  数据类型?text/json/xml
        //url   地址
        //reqDate   请求带回后台的数据
        //func      执行函数   在该函数里面做逻辑判断
           var xhr;
           //ajax兼容IE和w3c浏览器,并创建xhr对象
           if(window.XMLHttpRequest){
                xhr=new XMLHttpRequest();
           }else if(window.ActiveXObject){
                xhr=new ActiveXObject("Microsoft.XMLHTTP");
           }
           //给事件改变绑定一个监听事件//并且将传进来的函数调用起来  func()
        xhr.onreadystatechange=function (){
               if(xhr.readyState==4&&xhr.status==200){
                      if(DataType=='json'){
                          func(JSON.parse(xhr.responseText));
                      }else if(DataType=='xml'){
                         func(xhr.responseXML);
                      }else{
                         func(xhr.responseText);
                      }
               }
        }
        if(request=='get'){ //判断是否为get提交?  以确实reqData值的位置
            var urlP=url+'?'+reqData;
            //建立一个get请求的http
            xhr.open(request,urlP,true);
            //发送http请求
            xhr.send(null);
        }else if(request=='post'){ //判断是否为post提交
            //建立一个post请求的http
            xhr.open(request,url,true);
            //post请求头
            xhr.setRequestHeader('Content-type','application/x-www-form-urlencoded');
            //发送http请求
            xhr.send(reqData);
        }
    }
网友评论