jq方法:首先引入jq插件:
$.ajax({
? ? url:'http://baidu.com',? //地址
? ? dataType:'json',//數(shù)據(jù)類(lèi)型
? ? ?type:'GET', //類(lèi)型
? ? timeout:2000,//超時(shí)
? ? //請(qǐng)求成功
? ? success:function(data,status){
? ? console.log(data,status)
}? ?,
//失斚苯/超時(shí)
error:function(XMLHttpRequest,textStaus,errorThrown){
? ? if(textStatus==='timeout'){
? ? console.log('請(qǐng)求超時(shí)');
? ? setTimeout(function(){
? ? console.log('重新請(qǐng)求')
},2000);
}
? ? console.log(errorThown);
}
})
————————————————————
原生方法:
let Ajax = {
get:function(url,fn){
let? xhr = new XMLHttpRequest();//創(chuàng)建異步對(duì)象
xhr.open('GET',url,true);//設(shè)置請(qǐng)求參數(shù)
xhr.onreadystatechange = function(){//監(jiān)聽(tīng)請(qǐng)求是否成功 4 請(qǐng)求完成? 200成功碼
if(xhr.readyState === 4 && xhr.status == 200 || xhr.status == 304){
? ? fn.call(this,xhr.responseText);//獲取數(shù)據(jù)
}
};
xhr.send();//發(fā)送請(qǐng)求
}
post:function(url,data,fn){
? ? var? xhr = new XMLHttpRequest();
? ? xhr.open('POST',url,true);
? ? xhr.serRequestHeader("Content-Type","application/x-www-form-urlencoded");
? ? xhr.onreadystatechange = function(){
? ? ? ? if(xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 304)){
? ? ? ? ? ? fn.call(this,xhr.responseText);
}
};
xhr.send(data);
}
};
____________________________________________
調(diào)用試用:
Ajax.post('http://baidu.com',{name:'heheda'},function(data){
? ? ? ? data = JSON.parse(data)
? ? ? ? console.log(data);
})