Ajax狀態碼
在創建ajax對象,配置ajax對象,發送請求,以及接收完服務器端響應數據,這個過程中的每個步驟都會對應一個數值,這個數值就是ajax狀態碼。
0:請求未初始化(還沒有調用open())
1:請求已經建立,但是還沒有發送(還沒有調用send())
2:請求已經發送
3:請求正在處理中,通常響應中已經有部分數據可以用了
4:響應已經完成,可以獲取並使用服務器的響應了
xhr.readyState //獲取Ajax狀態碼
獲取服務器端的響應
onreadystatechange 事件
當Ajax狀態碼發生變化時將啟動觸發該事件。
.html
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <title>06獲取服務器端響應數據的另一種方式.html</title> 6 </head> 7 <body> 8 <script type="text/javascript"> 9 var xhr=new XMLHttpRequest(); 10 //0:請求未初始化 11 console.log(xhr.readyState); 12 xhr.open('get','http://localhost:3000/readystate'); 13 //請求已經建立,但是還沒有發送 14 console.log(xhr.readyState); 15 16 xhr.onreadystatechange=function(){ 17 //2:請求已經發送 18 //3:請求正在處理中,通常響應中已經有部分數據可以用了 19 //4:響應已經完成,可以獲取並使用服務器的響應了 20 console.log(xhr.readyState); 21 //對ajax狀態碼進行判斷,如果狀態碼的值為4就代表數據已經接收完成了。 22 if(xhr.readyState==4){ 23 console.log(xhr.responseText); 24 } 25 } 26 xhr.send(); 27 </script> 28 </body> 29 </html>
結果: