1. 程式人生 > >HTML-封裝原生Ajax

HTML-封裝原生Ajax

failure chan html hang active ready type esp time()

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(); } } } } }

HTML-封裝原生Ajax