Es6- 使用promise的方法封装自己的ajax
promise封装自己的ajax:
const getJSON = function(url){
return new promise((resolved,rejected)=>{
const xhrs = new XMLHttpRequest();
xhrs.open('GET',url);
xhrs.onreadystatechange = handler;
xhrs.responseType = 'json';
xhrs.setRequestHeader('Accept','application/json');
xhrs.send();//get请求数据是放在url中,如果是post,此处需要添加对应的数据
function handler(){
if(this.readyState ===4){
if(this.status ===200){
resolved(this.response) //返回的根据自己的情况进行展示
}else{
rejected(this,error)//返回的根据自己的情况进行展示
})
getJSON('XXXXXXXXXXXXXXXXXX').then((res)=>{
console.log(res)
},(error)=>{
console.log(error);
})
还有一种写法是
getJSON('XXXXXXXXXXXXXXXXXX').then((res)=>{
console.log(res)
}).catch(err =>{
console.log(err);
})