ajax promise 类库,原生Ajax + Promise

;(function(root){var LD = function(obj){if( obj instanceof LD ) returnobj;if( !(this instanceof LD )) return newLD(obj);

};

root.LD=LD;

console.log(window.LD);function__encodeParameter( data ){

let tmp= "";if(typeof data === 'string')

tmp=data;else{var e =encodeURIComponent;var params =[];for( let k indata ){if(data.hasOwnProperty( k )){

params.push( e(k))+'=' +e(data[k]);

}

}

tmp= params.join('&') ; //}returntmp;

}function__initialize_xhr(){

let xhr ;if(window.XMLHttpRequest){

xhr= newXMLHttpRequest();

}else if(window.ActiveXObject){try{

xhr= new ActiveXObject("Msxml2.XMLHTTP");

}catch(ex){

console.log(ex);

xhr= new ActiveXObject("Microsoft.XMLHTTP");

}

}returnxhr;

}var ajax = LD.Ajax = function( method , url , data , headers ,cb){

let promise= new Promise(function(resolve , reject ){

let xhr , params;

data= data ||{};

headers= headers ||{};try{

xhr=__initialize_xhr();

}catch(ex){

console.log(ex);

}

params=__encodeParameter( data );

console.log("-------"+params);if(method == 'GET' &&params ){

url+= '?' +params;

params= null;

}

xhr.open( method , url );var content_type = 'application/x-www-form-urlencoded';for(var h inheaders ){if(headers.hasOwnProperty(h)){if(h.toLowerCase() === "content-type"){

content_type=headers[h];

}else{

xhr.setRequestHeader(h , headers[h]);

}

}

}

xhr.setRequestHeader('Content-type', content_type );

xhr.onreadystatechange= function(){if(xhr.readyState === 4){var err = (!xhr.status || (xhr.status < 200 || xhr.status >= 300) &&xhr.status!== 304);if( err === false){

resolve( xhr.responseText , xhr );

}else{

reject( err , xhr );

}//cb(err, xhr.responseText,xhr );

}

};

xhr.send(params);

});returnpromise;

};

})(window);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值