您的位置:首页 > Web前端 > JavaScript

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

2018-08-01 15:51 561 查看
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_38008863/article/details/81332162

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

[code]	/*利用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)
})

 

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: