封装ajax——前端工程师和派孔明

//data 后台要的数据
//options = url,data,type,timeout,success,error
function ajax(options){

options=options||{};
options.data=options.data||{};
options.type=options.type||'get';
options.timeout=options.timeout||0;


//整理data数据
options.data.t=Math.random();//给data创建一个t 键
var arr=[];
for(var key in options.data){
arr.push(key+'='+encodeURIComponent(options.data[key]));
}
var str=arr.join('&');

if(window.XMLHttpRequest){//1
var oAjax=new XMLHttpRequest();
}else{
var oAjax=new ActiveXObject('Microsoft.XMLHTTP');
}

if(options.type=='get'){
oAjax.open('get',options.url+'?'+str,true);//2

oAjax.send();//3
}else{//post
oAjax.open('post',options.url,true);

//设定ajax的头信息
oAjax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');

oAjax.send(str);

}

oAjax.onreadystatechange=function(){//4
if(oAjax.readyState==4){
if(oAjax.status>=200 && oAjax.status<300 || oAjax.status==304){
clearInterval(timer);
options.success && options.success(oAjax.responseText)
}else{
options.error && options.error(oAjax.status);
}
}
};
if(options.timeout){
var timer=setTimeout(function(){
alert('超时了');
oAjax.abort(); //终止加载
},options.timeout);
}

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值