首页 > 代码库 > 原生JS封装Ajax
原生JS封装Ajax
function json2url(json){
//json参数转字符串
json.t=‘‘+Math.random();
json.t=json.t.replace(‘.‘,‘‘);
var arr=[];
for(var name in json){
arr.push(name+‘=‘+json[name]);
}
return arr.join(‘&‘);
}
//url,data,type,success,error
function ajax(json){
var json=json;
if(!json.url)return;
json.data=http://www.mamicode.com/json.data||{};
json.type=json.type||‘get‘;
//创建ajax对象
var oAjax=new XMLHttpRequest();
//连接方式、发送
switch(json.type.toLowerCase()){
case ‘get‘:
oAjax.open(‘GET‘,json.url+‘?‘+json2url(json.data),true);
oAjax.send();
break;
case ‘post‘:
oAjax.open(‘POST‘,json.url,true);
oAjax.setRequestHeader(‘Content-Type‘,‘application/x-www-form-urlencoded‘);
oAjax.send(json2url(json.data));
break;
}
//接收
oAjax.onreadystatechange=function (){
if(oAjax.readyState==4){
if(oAjax.status>=200&&oAjax.status<300||oAjax.status==304){
json.success&&json.success(oAjax.responseText);
}else{
json.error&&json.error(oAjax.status);
}
}
};
}
//调用
ajax({
url:‘a.txt‘,
data:{},
type:‘‘,
success:function (str){
alert(str);
},
error:function(data){
alert(data)
}
});
原生JS封装Ajax