初步認識XMLHttpRequest

2021-09-01 16:29:08 字數 1530 閱讀 6077

首先,我們先來看看xmlhttprequest這個物件的屬性。

它的屬性有:

onreadystatechange 每次狀態改變所觸發事件的事件處理程式。

responsetext     從伺服器程序返回資料的字串形式。

respon***ml   從伺服器程序返回的dom相容的文件資料物件。

status           從伺服器返回的數字**,比如常見的404(未找到)和200(已就緒)

status text       伴隨狀態碼的字串資訊

readystate       物件狀態值

0 (未初始化) 物件已建立,但是尚未初始化(尚未呼叫open方法)

1 (初始化) 物件已建立,尚未呼叫send方法

2 (傳送資料) send方法已呼叫,但是當前的狀態及http頭未知

3 (資料傳送中) 已接收部分資料,因為響應及http頭不全,這時通過responsebody和responsetext獲取部分資料會出現錯誤,

4 (完成) 資料接收完畢,此時可以通過通過respon***ml和responsetext獲取完整的回應資料

但是,由於各瀏覽器之間存在差異,所以建立乙個xmlhttprequest物件可能需要不同的方法。這個差異主要體現在ie和其它瀏覽器之間。下面是乙個比較標準的建立xmlhttprequest物件的方法。

六、 定製載入和錯誤處理訊息

你為onreadystatechange方法建立的事件處理器正是集中進行載入和處理錯誤的場所。現在到了考慮使用者並針對他們與之互動的內容的狀態提 供反饋的時候了。在這個例項中,我針對所有的裝載狀態**提供反饋,並且也對最經常發生的錯誤處理狀態**提供一些基本的反饋。為了顯示請求物件的當前狀 態,readystate屬性包括顯示在下表中的一些值。

值 描述

0 未初始化,物件沒有用資料進行初始化。

1 裝載中,物件正在裝載它的資料。

2 裝載結束,物件完成了它的資料的裝載。

3 可互動,使用者能與物件互動了,儘管它還沒有裝載結束。

4 完成,物件已經完全被初始化。

w3c中有很長的一串有關http狀態**的定義。我選擇了兩個狀態**:

?200:請求成功了。

?404:伺服器沒有找到與所請求的檔案相匹配的任何東西。

最後,我檢查任何另外的狀況**-它們將生成乙個錯誤並提供乙個一般錯誤資訊。下面是乙個**示例-你可以用之來處理這些情況。注意,我在定位我們前面 在html檔案的主體中建立的div id並且對它應用裝載和/或錯誤資訊-通過innerhtml方法-這個方法用於設定在div物件的開始和結束標籤之間的html:

if(obj.readystate == 0) 

if(obj.readystate == 1)

if(obj.readystate == 2)

if(obj.readystate == 3)

if(obj.readystate == 4)

else if(obj.status == 404)

else

}當狀況**為200時,這意味著請求成功。下面開始進行響應了。

初步認識繼承

include stdafx.h include using namespace std 構造方式跟類內類物件是一樣的 父類 info 派生類 sci 派生類 sci 父類 info struct info 父類 void outputinfo info info private int numb ...

初步認識redis

1.什麼redis 2.為什麼使用redis 3.什麼場合使用redis 4.redis的好處 5.編譯安裝redis 6.redis資料結構 1.什麼是redis redis是remote dictionary server 遠端資料服務 的縮寫,是義大利人antirez開發的一款記憶體快取記憶體...

kafka初步認識

producer 訊息生產者,向kafka集 送訊息,它是乙個程式 consumer 訊息消費者,從kafka集群獲取資料,它是乙個程式 broker kafka集群的最小組成單元,它是乙個服務 topic kafka將producer產生的訊息按照topic進行分類 partition kafka...