js原生ajax请求利用promise封装函数

废话不多说,直接上代码。

	/*利用promise封装的ajax函数*/
	function ajax(method,url, data){
		 /*兼容IE*/	
		 var request;					 
		if(window.XMLHttpRequest){
			 request =new XMLHttpRequest();
		}else{
			 request=new ActiveXObject("Microsoft.XMLHTTP")
		}				
		return new Promise(function(resolve,reject){
				request.onreadystatechange=function(){
						if(request.readyState===4){
							 if(request.status===200){
									resolve(JSON.parse(request.response));
							  }else{
								 reject(request.status);
							  }
						}
				};
				if(method.toUpperCase()=== "GET"){
					var arr = [];
					for(var key in data){
						arr.push(key + '=' + data[key]);
					}
					var getData=arr.join("&");
					
					request.open("GET",url +"?"+getData,true);
					request.send(null);
				}else if(method.toUpperCase()=== "POST"){
					request.open("POST",url,true);
					request.responseType="json";
					request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded;charset=utf-8');
					request.send(data);
				}
				
		});
		
	};
	/*使用方法*/
	var obj={
	access_token:'3452d32463e1b36ad94ee56931ea3cf0',
	pageNumber:1,
	pageSize:20
	}
	var url='https://denterpriseapi.coolcollege.cn/course/queryCourseByPage'
	//开始调用接口
	ajax('get',url,obj).then(function(data){
		console.log(data)
	}).catch(function(err){
		console.log(err)
	})

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值