首頁 >後端開發 >XML/RSS教程 >ajax的xmlHttpRequest對象

ajax的xmlHttpRequest對象

黄舟
黄舟原創
2017-02-23 14:56:491408瀏覽

          轉載請註明來源:ajax的xmlHttpRequest物件
 XMLHttpRequest物件是ajax的核心,它有許多屬性,方法和事件以便於腳本的處理和控制http的請求回應。如果你一直在使用原生的javascript做開發,那麼在使用ajax的過程中,這個物件你需要非常了解,假使你用jquery之類的封裝框架的話,那麼多對它有一份了解,也能加深你對ajax的理解。

 

            以下是它的一些屬性的介紹:

             1.readState屬性:當xmlHttpRequest物件被建立後,這個屬性,被創造為你,這個核心物件會被創造出核心物件後,是處於何種狀態,是否可以存取或處理,readState可以等於0,1,2,3,4;分別表示,0:已建立對象,但未初始化(如:int i;),1:已呼叫物件的open()方法,準備發送請求,2:已呼叫send()方法去請求,但是未得到回應,3:正在回應,4:完成回應,完成httpResponse回應的接收。

             2.responseText屬性:包含了客戶接收到的來自http回應的文字內容。當readState為0,或1或2時,該屬性為空字串,當為3時,是部分已接收到的字串,當為4時,該屬性為完整的回應資訊。

             3.responseXml屬性:只有當readyState=4且回應頭部的Content-Type的型別指定為XML(text/xml或application/xml)時,該屬性的值才會為一個xml文檔,否則為null,假使回傳的xml格式不良或未完成回應回傳,該屬性值也為null。它被用來描述xmlHttpRequest物件解析xml文檔後的屬性。

             4.status屬性:標示了http狀態碼。只有在readyState=3或4時,這個屬性才能進行訪問,否則取得該屬性時,將引發異常。

             5.statusText屬性:標示了http狀態碼的文字。只有在readyState=3或4時,這個屬性才能進行訪問,否則取得該屬性時,將引發異常。

 

 

           下方是它的一個事件介紹:onreadystatechange事件

         請求中使用最頻繁的核心事件。

 

           以下是一些方法的介紹:

##          1.open():xmlHttpRequest物件透過呼叫open(method,    1.open():xmlHttpRequest物件透過呼叫open(method,,,asyncusername,初始化工作。呼叫該方法後,傳回一個可以進行傳送(send()方法)的物件。 method為必填參數,依照http規範,可為GET,POST,PUT,DELETE和HEAD;uri用於指定xmlHttpRequest物件請求的伺服器位址,可以為相對路徑或絕對路徑,最終都會解析為絕對路徑;async用於指定是否非同步,預設為true;如果伺服器需要驗證存取用戶,那麼username和password的這兩個參數即可以使用到。

             2.send():send()方法將open()方法中的參數請求傳送,也就是它只能在open()呼叫之後,才能調用,即readState=1之後才能呼叫send (),在send()接受到回應訊息之前,readyState=2,一旦send()接受到回應訊息,readyState=3,直到最後接受完成,readyState=4。 send方法使用也貴可選的參數,該參數可以包含可變類型的資料。對於大。多數的其它的資料類型,在呼叫send()之前,應該使用setRequestHeader()來設定Content-Type 。一般使用send(null)顯示呼叫此方法,假使send(data)中的data類型是DOMString,資料編輯為utf-8,如果是Document,則由

##data.xmlEncoding指定的編碼串行化該數據。

         3.about():可以暫停一個httpRequest的請求傳送或接收,並且將xmlHttpRequest物件設定為初始化狀態。

           4.setRequestHeader():設定請求的頭部訊息,當readyState=1時,可以在呼叫open()後呼叫它,否則會得到異常。

.          5.setResponseHeader():用於檢索回應頭訊息,當readyState=4或3時,才可以調用,否則得到一個空字串。此外,getAllResponseHeader()用於獲得所有的httpResponse的頭部資訊。

               

 以上是ajax的xmlHttpRequest物件的內容,則更多相關內容請關注PHP中文網(www.php.cn)! 


#

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn