原生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:服務器超負荷
//數據不全僅供參考----------