HTML-封装原生Ajax
2021-07-12 23:05
标签:var form his state log active name typeof mic HTML-封装原生Ajax 标签:var form his state log active name typeof mic 原文地址:http://www.cnblogs.com/xiaonangua/p/7080377.htmlfunction 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();
}
}
}
}
}
上一篇:http Socket长连接
下一篇:动态计算rem的js代码