Ajax封装


/**
* Ajax封装
*/
var Ajax = function(){
this.isIE = !+ [ 1, ] ? true : false;
this.xmlHttpList = [];
};
Ajax.prototype = {
ajaxConnection : 0,
getXmlHttp : function( count ){
count = count != undefined ? count : 5;
var bool = this.xmlHttpList.length === 0,i;
var length = bool ? count : this.xmlHttpList.length;
for(i=0;i<length;i++){
if(bool){
this.xmlHttpList.push(this.isIE ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest());
}else{
if(this.ajaxConnection > length){//高并发时候,少了就添加连接
this.xmlHttpList.push(this.isIE ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest());
i = length;
break;
}
if(this.xmlHttpList[i].readyState === 0)break;
}
}
return this.xmlHttpList[ bool ? 0 : i ];
},
post : function(url,yesFun,noFun){
this.ajax("post",url,yesFun,noFun);
},
get : function(url,yesFun,noFun){
this.ajax("get",url,yesFun,noFun);
},
ajax : function(type,url,yesFun,noFun){
var xmlHttp = this.getXmlHttp();
xmlHttp.open(type, url, true);
xmlHttp.onreadystatechange = function() {
if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {
if( yesFun && typeof yesFun === 'function' ){
yesFun( xmlHttp.responseText );
}
xmlHttp.abort();
Ajax.ajaxConnection --;
}else{
if (xmlHttp.readyState == 4 && xmlHttp.status != 200) {
if( noFun && typeof noFun === 'function' ){
noFun( xmlHttp.readyState );
}
xmlHttp.abort();
Ajax.ajaxConnection --;
}
}
};
xmlHttp.send(null);
}
};
//使用方法
var ajax = new Ajax();
ajax.post("?GchartID="+id,function(html){
alert(html);
},function(state){
alert("请求错误:"+state);
});
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值