Ajax readyState的五種狀態

2021-08-31 01:14:25 字數 1373 閱讀 4246

對於readystate的五種狀態的描述或者說定義,很多ajax書(英文原版)中大都語焉不詳

在《pragmatic ajax a web 2.0 primer 》中偶然看到對readystae狀態的介紹,感覺這個介紹很實在……

比較理想的解釋方法應該以「狀態:任務(目標)+過程+表現(或特徵)」的表達模式來對這幾個狀態進行定義

【全文】

在《pragmatic ajax a web 2.0 primer 》中偶然看到對readystae狀態的介紹,感覺這個介紹很實在,摘譯如下:

0: (uninitialized) the send( ) method has not yet been invoked.

1: (loading) the send( ) method has been invoked, request in progress.

2: (loaded) the send( ) method has completed, entire response received.

3: (interactive) the response is being parsed.

4: (completed) the response has been parsed, is ready for harvesting.

0 - (未初始化)還沒有呼叫send()方法

1 - (載入)已呼叫send()方法,正在傳送請求

2 - (載入完成)send()方法執行完成,已經接收到全部響應內容

3 - (互動)正在解析響應內容

4 - (完成)響應內容解析完成,可以在客戶端呼叫了

狀態說明

(0)未初始化

此階段確認xmlhttprequest物件是否建立,並為呼叫open()方法進行未初始化作好準備。值為0表示物件已經存在,否則瀏覽器會報錯--物件不存在。

(1)載入

此階段對xmlhttprequest物件進行初始化,即呼叫open()方法,根據引數(method,url,true)完成物件狀態的設定。並呼叫send()方法開始向服務端傳送請求。值為1表示正在向服務端傳送請求。

(2)載入完成

此階段接收伺服器端的響應資料。但獲得的還只是服務端響應的原始資料,並不能直接在客戶端使用。值為2表示已經接收完全部響應資料。並為下一階段對資料解析作好準備。

(3)互動

此階段解析接收到的伺服器端響應資料。即根據伺服器端響應頭部返回的mime型別把資料轉換成能通過responsebody、responsetext或respon***ml屬性訪問的格式,為在客戶端呼叫作好準備。狀態3表示正在解析資料。

(4)完成

此階段確認全部資料都已經解析為客戶端可用的格式,解析已經完成。值為4表示資料解析完畢,可以通過xmlhttprequest物件的相應屬性取得資料。

ajax readyState的五種狀態

xhr.readystatede的值有 0 未初始化 物件已建立,但是尚未初始化 尚未呼叫open方法 1 初始化 物件已建立,尚未呼叫send方法 2 傳送資料 send方法已呼叫,但是當前的狀態及http頭未知 3 資料傳送中 已接收部分資料,因為響應及http頭不全,這時通過responseb...

container of 的的的原理

另外一篇,同樣精彩,揭開linux核心中container of的神秘面紗 華清遠見嵌入式學院講師。在linux 核心中有乙個大名鼎鼎的巨集container of 這個巨集是用來幹嘛的呢?我們先來看看它在核心中是怎樣定義的。呵呵,乍一看不知道是什麼東東。我們先來分析一下container of p...

存在的就是合理的,發生的即是必然的。

筆者有時候會想,什麼是對,什麼是錯?對於追求某一件事情之前首先會考慮,為什麼我要做這件事情。所以經過自我分析和生活周邊環境的總結。我認為,對於乙個人來,這是在站在個體的角度上說。什麼是對的?就是你自己覺得是對的,它就是對的。不過這個只是你自己的想法。主觀上的正確,不代表客觀上也受到了別人的認可。就拿...