Ajax狀態(tài)碼的生成順序以及含義介紹
Ajax狀態(tài)碼:
在創(chuàng)建Ajax對象,配置Ajax對象,發(fā)送請求,以及接收完服務器響應數(shù)據(jù),這個過程中的每一個步驟都會有一個數(shù)值,這個數(shù)值就是Ajax的狀態(tài)碼。
根據(jù)xhr.readystate獲取
0: 請求已經(jīng)未進行初始化(未調用open方法)
1: 請求已經(jīng)建立,但是沒有發(fā)送(未調用send方法)
2: 請求已經(jīng)發(fā)送(已經(jīng)調用send方法)
3: 請求在正處理,通常響應中已經(jīng)有部分數(shù)據(jù)可以用了
4: 響應已經(jīng)完成,可以獲取并使用服務了
Onreadystatechange事件,xhr.readystate值發(fā)生變化后,自動觸發(fā)
代碼案例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title></title>
</head>
<style>
</style>
<body>
<script >
//1.創(chuàng)建Ajax對象
var xhr=new XMLHttpRequest();
console.log(xhr.readyState);//---0: 已經(jīng)創(chuàng)建了Ajax的對象,但是還沒有進行對ajax進行配置
//2.配置Ajax對象
xhr.open('get','http://localhost:3000/readyState');
console.log(xhr.readyState);//1:已經(jīng)對Ajax對象進行配置,但是還沒有發(fā)送請求
//3.設置請求參數(shù)格式的類型(post中必須要進行設置的)
xhr.setRequestHeader('Content-Type','application/json');//json固定格式
//4.發(fā)送請求
xhr.onreadystatechange=function(){
console.log(xhr.readyState);
// 2: 請求已經(jīng)發(fā)送
// 3: 已經(jīng)收到服務端的部分數(shù)據(jù)
// 4: 服務器端的響應數(shù)據(jù)已經(jīng)接收完畢
//對Ajax的狀態(tài)碼進行判斷,如果狀態(tài)碼為4,代表數(shù)據(jù)已經(jīng)接收完畢,可以進行獲取使用
if(xhr.readyState==4){
//5.獲取服務器端響應的數(shù)據(jù)
console.log(xhr.responseText);
}
}
xhr.send();
</script>
</body>
</html>
<!--
Ajax狀態(tài)碼:
在創(chuàng)建Ajax對象,配置Ajax對象,發(fā)送請求,以及接收完服務器響應數(shù)據(jù),這個過程中的每一個步驟都會有一個數(shù)值,這個數(shù)值就是Ajax的狀態(tài)碼。
根據(jù)xhr.readystate獲取
0: 請求已經(jīng)未進行初始化(未調用open方法)
1: 請求已經(jīng)建立,但是沒有發(fā)送(未調用send方法)
2: 請求已經(jīng)發(fā)送(已經(jīng)調用send方法)
3: 請求在正處理,通常響應中已經(jīng)有部分數(shù)據(jù)可以用了
4: 響應已經(jīng)完成,可以獲取并使用服務了
Onreadystatechange事件,xhr.readystate值發(fā)生變化后,自動觸發(fā)
-->到此這篇關于Ajax狀態(tài)碼的生成順序以及含義的文章就介紹到這了。希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

