HTML-封装原生Ajax

2018-06-24 01:31:09来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

function ajax(data){
    //data{data:"",dataType:"xml/json",type:"get/post",url:"",asyn:"true/false",success:funtion(){},failure:function(){}}
    //datapost={username:123,pwd=456}
    //dataGet="username=123&pwd=456"
    //第一步:创建XHR对象
    var xhr=null;
    if(window.XMLHttpRequest){//标准的浏览器
      xhr=new XMLHttpRequest();  
    }else{
      xhr=new ActiveXObject('Microsoft.XMLHTTP');
    }
    //第二步:准备发送前的一些配置参数
    var type=data.type=='get'?'get':'post';
    var url='';
    if(data.url){
        url=data.url;
        if(type=='get'){
            url+="?"+data.data+'&_t='+new Date().getTime();//(就是dataGet)
        }
    }
    var flag=data.asyn=='true'?'true':'false';
    xhr.open(type,url,flag);
    //第三步:执行发送的动作
    if(type=='get("Content-Type","application/x-www-form-urlencoded")
        xhr.send(data.data);//就是dataPost
    }

    //第四步:指定回调函数
    xhr.onreadstatechange=function(){
       if(this.readyState==4){
            if(this.status==200){
                 if(typeof data.success=='function'){
                     var d=data.dataType=='xml'?this.responseXML:this.responseText;
                     data.success(d);
                }
            }else{
                  if(typeof data.failure=='function'){
                       data.failure();
                  }
            }
        }
    }
}                    

 

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:关于模板引擎一

下一篇:markdown基础