色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

ajax的state 的5種狀態(tài)

林國瑞5個月前3瀏覽0評論

在前端開發(fā)中,Ajax是非常常見的技術。它可以讓網頁實現異步更新,提升用戶體驗。而Ajax的state狀態(tài)則是用來表示請求的不同階段的,它有5種狀態(tài)。下面將對這5種狀態(tài)進行詳細介紹,并舉例說明。

1. 0未初始化狀態(tài)(UNSENT)

var xhr = new XMLHttpRequest();
console.log(xhr.readyState);  // 輸出結果為0

在這個階段,XMLHttpRequest對象已經創(chuàng)建,但是還沒有調用open方法。我們可以將其理解為一封信已經準備好,但是還沒有填寫收件人地址。

2. 1載入(OPENED)

var xhr = new XMLHttpRequest();
xhr.open("GET", "example.com", true);
console.log(xhr.readyState);  // 輸出結果為1

在這個階段,open方法已經被調用,但是還沒有調用send方法。這個階段主要用來設置請求的一些參數,例如請求的類型和URL地址。可以理解為信信封已經填寫完畢,準備投遞。

3. 2載入完成(HEADERS_RECEIVED)

var xhr = new XMLHttpRequest();
xhr.open("GET", "example.com", true);
xhr.send();
console.log(xhr.readyState);  // 輸出結果為2

在這個階段,send方法已經被調用,并且已經接收到了響應的頭信息。可以理解為信已經投遞給收件人,收件人已經接收到信件。

4. 3交互中(LOADING)

var xhr = new XMLHttpRequest();
xhr.open("GET", "example.com", true);
xhr.send();
xhr.onreadystatechange = function() {
console.log(xhr.readyState);  // 輸出結果為3
}

在這個階段,數據正在傳輸中,我們可以通過onreadystatechange事件來監(jiān)視數據的傳輸進度。可以將其理解為信封中的信件正在傳遞過程中。

5. 4完成(DONE)

var xhr = new XMLHttpRequest();
xhr.open("GET", "example.com", true);
xhr.send();
xhr.onreadystatechange = function() {
if (xhr.readyState === 4 && xhr.status === 200) {
console.log(xhr.readyState);  // 輸出結果為4
}
}

在這個階段,請求已經完成,數據傳輸成功。我們可以在這個階段獲取到完整的響應數據。可以將其理解為收件人已經閱讀了信件,完成了一次請求。

綜上所述,Ajax的state狀態(tài)共有5種。通過這5種狀態(tài),我們可以了解到請求的不同階段,從而可以在不同的階段進行相應的處理。熟悉這些狀態(tài)是進行Ajax開發(fā)的基礎,希望本文的介紹對大家有所幫助。