欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
readyState的五種狀態(tài)_笑笑
 
對于readyState的五種狀態(tài)的描述或者說(shuō)定義,很多Ajax書(shū)(英文原版)中大都語(yǔ)焉不詳
在《Pragmatic Ajax A Web 2.0 Primer 》中偶然看到對readyStae狀態(tài)的介紹,感覺(jué)這個(gè)介紹很實(shí)在……
比較理想的解釋方法應該以“狀態(tài):任務(wù)(目標)+過(guò)程+表現(或特征)”的表達模式來(lái)對這幾個(gè)狀態(tài)進(jìn)行定義


在《Pragmatic Ajax A Web 2.0 Primer 》中偶然看到對readyStae狀態(tài)的介紹,感覺(jué)這個(gè)介紹很實(shí)在,摘譯如下:

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 - (未初始化)還沒(méi)有調用send()方法
1 - (載入)已調用send()方法,正在發(fā)送請求
2 - (載入完成)send()方法執行完成,已經(jīng)接收到全部響應內容
3 - (交互)正在解析響應內容
4 - (完成)響應內容解析完成,可以在客戶(hù)端調用了


對 于readyState的這五種狀態(tài),其他書(shū)中大都語(yǔ)焉不詳。像《Foundations of Ajax》中,只在書(shū)中的表2-2簡(jiǎn)單地列舉了狀態(tài)的“名稱(chēng)”--The state of the request. The five possible values are 0 = uninitialized, 1 = loading, 2 = loaded, 3 = interactive, and 4 = complete。而《Ajax in Action》中好像根本就沒(méi)有提到這5種狀態(tài)的細節?!禤rofessional Ajax》中雖不盡人意,但還是有可取之處:

There are five possible values for readyState:
0 (Uninitialized): The object has been created but the open() method hasn't been called.
1 (Loading): The open() method has been called but the request hasn't been sent.
2 (Loaded): The request has been sent.
3 (Interactive). A partial response has been received.
4 (Complete): All data has been received and the connection has been closed.

readyState有五種可能的值:
0 (未初始化): (XMLHttpRequest)對象已經(jīng)創(chuàng )建,但還沒(méi)有調用open()方法。
1 (載入):已經(jīng)調用open() 方法,但尚未發(fā)送請求。
2 (載入完成): 請求已經(jīng)發(fā)送完成。
3 (交互):可以接收到部分響應數據。
4 (完成):已經(jīng)接收到了全部數據,并且連接已經(jīng)關(guān)閉。


在《Understanding AJAX: Using JavaScript to Create Rich Internet Applications》中,則用下表進(jìn)行了說(shuō)明:
表1. readyState Levels

readyState Status Code

Status of the XMLHttpRequest Object

(0) UNINITIALIZED
未初始化

The object has been created but not initialized. (The open method has not been called.)
(XMLHttpRequest)對象已經(jīng)創(chuàng )建,但尚未初始化(還沒(méi)有調用open方法)。

(1) LOADING
載入

The object has been created, but the send method has not been called.
(XMLHttpRequest)對象已經(jīng)創(chuàng )建,但尚未調用send方法。

(2) LOADED
載入完成

The send method has been called, but the status and headers are not yet available.
已經(jīng)調用send方法,(HTTP響應)狀態(tài)及頭部還不可用。

(3) INTERACTIVE
交互

Some data has been received. Calling the responseBody and responseText properties at this state to obtain partial results will return an error, because status and response headers are not fully available.
已經(jīng)接收部分數據。但若在此時(shí)調用responseBody和responseText屬性獲取部分結果將會(huì )產(chǎn)生錯誤,因為狀態(tài)和響應頭部還不完全可用。

(4) COMPLETED
完成

All the data has been received, and the complete data is available in the responseBody and responseText properties.
已經(jīng)接收到了全部數據,并且在responseBody和responseText屬性中可以提取到完整的數據。


根 據以上幾本書(shū)中的關(guān)于readyState五種狀態(tài)的介紹,我認為還是《Pragmatic Ajax A Web 2.0 Primer 》比較到位,因為它提到了對接收到的數據的解析問(wèn)題,其他書(shū)中都沒(méi)有提到這一點(diǎn),而這一點(diǎn)正是“(3)交互”階段作為一個(gè)必要的轉換過(guò)程存在于“(2)載 入完成”到“(4)完成”之間的理由,也就是其任務(wù)是什么。歸結起來(lái),我覺(jué)得比較理想的解釋方法應該以“狀態(tài):任務(wù)(目標)+過(guò)程+表現(或特征)”表達 模式來(lái)對這幾個(gè)狀態(tài)進(jìn)行定義比較準確,而且讓人容易理解?,F試總結如下:

表2. readyState 狀態(tài)詳解

readyState 狀態(tài)

狀態(tài)說(shuō)明

(0)未初始化

此階段確認XMLHttpRequest對象是否創(chuàng )建,并為調用open()方法進(jìn)行未初始化作好準備。值為0表示對象已經(jīng)存在,否則瀏覽器會(huì )報錯--對象不存在。

(1)載入

此階段對XMLHttpRequest對象進(jìn)行初始化,即調用open()方法,根據參數(method,url,true)完成對象狀態(tài)的設置。并調用send()方法開(kāi)始向服務(wù)端發(fā)送請求。值為1表示正在向服務(wù)端發(fā)送請求。

(2)載入完成

此階段接收服務(wù)器端的響應數據。但獲得的還只是服務(wù)端響應的原始數據,并不能直接在客戶(hù)端使用。值為2表示已經(jīng)接收完全部響應數據。并為下一階段對數據解析作好準備。

(3)交互

此階段解析接收到的服務(wù)器端響應數據。即根據服務(wù)器端響應頭部返回的MIME類(lèi)型把數據轉換成能通過(guò)responseBody、responseText或responseXML屬性存取的格式,為在客戶(hù)端調用作好準備。狀態(tài)3表示正在解析數據。

(4)完成

此階段確認全部數據都已經(jīng)解析為客戶(hù)端可用的格式,解析已經(jīng)完成。值為4表示數據解析完畢,可以通過(guò)XMLHttpRequest對象的相應屬性取得數據。


概而括之,整個(gè)XMLHttpRequest對象的生命周期應該包含如下階段:
創(chuàng )建-初始化請求-發(fā)送請求-接收數據-解析數據-完成

在 具體應用中,明確了readyState的五個(gè)狀態(tài)(XMLHttpRequest對象的生命周期各個(gè)階段)的含義,就可以消除對Ajax核心的神秘感 (語(yǔ)焉不詳的背后要么是故弄玄虛,制造神秘感;要么就是“以其昏昏,使人昭昭”),迅速把握其實(shí)質(zhì),對減少學(xué)習中的挫折感和增強自信心都極其有益。

比如,通過(guò)如下示例:

 

//聲明數組
var states = ["正在初始化……",
      "正在初始化請求……成功!<br/>正在發(fā)送請求……",
      "成功!<br/>正在接收數據……",
      "完成!<br/>正在解析數據……",
      "完成!<br/>"];

//回調函數內部代碼片段
if (xmlHttp.readyState==4)
{
   var span = document.createElement("span");
   span.innerHTML = states[xmlHttp.readyState];
   document.body.appendChild(span);

   if (xmlHttp.status == 200)
    {
     var xmldoc = xmlHttp.responseXML;
     //其他代碼
    }
   
    //別忘記銷(xiāo)毀,防止內存泄漏
    xmlHttp = null;
}else{
   var span = document.createElement("span");
   span.innerHTML = states[xmlHttp.readyState];
   document.body.appendChild(span);
}

結果如下: 正在初始化請求……成功!
正在發(fā)送請求……成功!
正在接收數據……完成!
正在解析數據……完成!
我們很容易明白XMLHttpRequest對象在各個(gè)階段都在做什么。因此,也就很容易對Ajax的核心部分有一個(gè)真正簡(jiǎn)單明了的
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
Ajax入門(mén)筆記
AJAX接收服務(wù)器返回的數據
xmlhttp.readyState==4 && xmlhttp.status==200的探究
AJAX – onreadystatechange 事件 | 菜鳥(niǎo)教程
【XMLHTTPRequest屬性及方法詳解教程】,XMLHTTPRequest屬性及方法...
XMLHTTP對象參考
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久