原生Ajax 請求數據
btn.addEventListener('click',function(){
if(window.XMLHttpRequest){
var xhr = new window.XMLHttpRequest();
}else{
//兼容IE瀏覽器
var xhr = new ActiveXObject('Microsoft.XMLHTTP');
}
//請求方式get/post
//請求URL
//ture 異步請求;false 同步請求
xhr.open('get','/ajax/getdata',true);
//給xhr 綁定事件監聽狀態的改變(狀態碼見下)
xhr.onreadystatechange = function(){
if(xhr.readyState == 4 && xhr.status == 200){
console.log(xhr.responseText);
}
}
//發送請求數據 //get方法send參數為空或null
xhr.send();
});
jQuery 實現的Ajax 封裝
//jQuery $('.btn').on('click',function(){ $.ajax({ url:'/ajax/getdata', type:'get', dataType:'json', //成功執行函數 success:function(response,status){ console.log(responseText); } }); });
xhr.readystate 狀態碼
0:unsend //當前請求還未發送
1:opened //URL地址已經打開
2:headers_received //響應頭信息已經接收
3:loading // 主要的返回數據正在服務器進行准備處理
4:done //響應主體的內容已經成功返回客戶端
xhr.status 服務器狀態碼
200及以2開頭的:成功(響應的主體已經成功返回客戶端)
301:永久重定向/轉移
302:臨時重定向/轉移
304:本次獲取的內容是讀取的緩存
400:客戶端->服務器的參數錯誤
401:無權限訪問
404:訪問地址不存在
500:未知的服務器錯誤
501:服務器超負荷
//數據不全僅供參考----------
