亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > AJAX > 正文

javascript ajax的5種狀態介紹

2024-09-01 08:32:50
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了javascript ajax的5種狀態介紹,它們分別是未初始化、載入、載入完成、交互、完成,也可稱之為ajax的5個過程,需要的朋友可以參考下
 
 

在《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 - (完成)響應內容解析完成,可以在客戶端調用了

對于readyState的這五種狀態,其他書中大都語焉不詳。像《Foundations of ajax(動態網站靜態化)》中,只在書中的表2-2簡單地列舉了狀態的“名稱”--The state of the request. The five possible values are 0 = uninitialized, 1 = loading, 2 = loaded, 3 = interactive, and 4 = complete。而《ajax(動態網站靜態化) in Action》中好像根本就沒有提到這5種狀態的細節?!禤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 (未初始化): (xml(標準化越來越近了)HttpRequest)對象已經創建,但還沒有調用open()方法。
1 (載入):已經調用open() 方法,但尚未發送請求。
2 (載入完成): 請求已經發送完成。
3 (交互):可以接收到部分響應數據。
4 (完成):已經接收到了全部數據,并且連接已經關閉。

在《Understanding ajax(動態網站靜態化): Using JavaScript to Create Rich Internet Applications》中,則用下表進行了說明:

readyState Status Code
Status of the xml(標準化越來越近了)HttpRequest Object 
(0) UNINITIALIZED
未初始化 The object has been created but not initialized. (The open method has not been called.)
(xml(標準化越來越近了)HttpRequest)對象已經創建,但尚未初始化(還沒有調用open方法)。 
(1) LOADING
載入 The object has been created, but the send method has not been called.
(xml(標準化越來越近了)HttpRequest)對象已經創建,但尚未調用send方法。 
(2) LOADED
載入完成 The send method has been called, but the status and headers are not yet available.
已經調用send方法,(HTTP響應)狀態及頭部還不可用。 
(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.
已經接收部分數據。但若在此時調用responseBody和responseText屬性獲取部分結果將會產生錯誤,因為狀態和響應頭部還不完全可用。 
(4) COMPLETED
完成 All the data has been received, and the complete data is available in the responseBody and responseText properties.
已經接收到了全部數據,并且在responseBody和responseText屬性中可以提取到完整的數據。

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

readyState 狀態說明

(0)未初始化
此階段確認xml(標準化越來越近了)HttpRequest對象是否創建,并為調用open()方法進行未初始化作好準備。值為0表示對象已經存在,否則瀏覽器會報錯--對象不存在。

(1)載入
此階段對xml(標準化越來越近了)HttpRequest對象進行初始化,即調用open()方法,根據參數(method,url,true)完成對象狀態的設置。并調用send()方法開始向服務端發送請求。值為1表示正在向服務端發送請求。

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

(3)交互
此階段解析接收到的服務器端響應數據。即根據服務器端響應頭部返回的MIME類型把數據轉換成能通過responseBody、responseText或responsexml(標準化越來越近了)屬性存取的格式,為在客戶端調用作好準備。狀態3表示正在解析數據。

(4)完成
此階段確認全部數據都已經解析為客戶端可用的格式,解析已經完成。值為4表示數據解析完畢,可以通過xml(標準化越來越近了)HttpRequest對象的相應屬性取得數據。

概而括之,整個xml(標準化越來越近了)HttpRequest對象的生命周期應該包含如下階段:
創建-初始化請求-發送請求-接收數據-解析數據-完成

在具體應用中,明確了readyState的五個狀態(xml(標準化越來越近了)HttpRequest對象的生命周期各個階段)的含義,就可以消除對ajax(動態網站靜態化)核心的神秘感(語焉不詳的背后要么是故弄玄虛,制造神秘感;要么就是“以其昏昏,使人昭昭”),迅速把握其實質,對減少學習中的挫折感和增強自信心都極其有益。

比如,通過如下示例:

 

復制代碼代碼如下:

//聲明數組
var states = [“正在初始化……”,
“正在初始化請求……成功!
正在發送請求……”,
“成功!
正在接收數據……”,
“完成!
正在解析數據……”,
“完成!
”];

 

//回調函數內部代碼片段
if (xml(標準化越來越近了)Http.readyState==4)
{
var span = document.createElement(“span”);
span.innerHTML = states[xml(標準化越來越近了)Http.readyState];
document.body.appendChild(span);

if (xml(標準化越來越近了)Http.status == 200)
{
var xml(標準化越來越近了)doc = xml(標準化越來越近了)Http.responsexml(標準化越來越近了);
//其他代碼
}

//別忘記銷毀,防止內存泄漏
xml(標準化越來越近了)Http = null;
}else{
var span = document.createElement(“span”);
span.innerHTML = states[xml(標準化越來越近了)Http.readyState];
document.body.appendChild(span);
}結果如下:

正在初始化請求……成功!
正在發送請求……成功!
正在接收數據……完成!
正在解析數據……完成!


我們很容易明白xml(標準化越來越近了)HttpRequest對象在各個階段都在做什么。因此,也就很容易對ajax(動態網站靜態化)的核心部分有一個真正簡單明了的理解。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲福利视频二区| 美女av一区二区| 亚洲老头老太hd| 成人xxxx视频| 在线国产精品播放| 亚洲欧美日韩久久久久久| 欧美性黄网官网| 国产精品一区二区久久久久| 亚洲国产欧美在线成人app| 成人有码在线播放| 亚洲欧美精品suv| 亚洲男人av在线| 国产精品久久91| 国产精品成人免费电影| 亚洲精品久久久一区二区三区| 久久久女人电视剧免费播放下载| 欧美又大又粗又长| 国产suv精品一区二区| 国产在线拍偷自揄拍精品| 国产精品视频网| 亚洲欧美在线看| 视频一区视频二区国产精品| 久久精品视频导航| 欧美成人一区在线| 久久亚洲私人国产精品va| 亚洲成成品网站| 久久人人爽人人爽人人片av高清| 欧美午夜激情小视频| 91最新在线免费观看| 久久精品视频亚洲| 日韩精品亚洲元码| 欧美电影免费观看高清| 久久久久久国产精品久久| 欧美不卡视频一区发布| 中文字幕日韩av| 国产在线观看精品| 欧美精品手机在线| 深夜福利亚洲导航| 亚洲午夜色婷婷在线| 久久精品99久久久香蕉| 538国产精品视频一区二区| 美女999久久久精品视频| 国产精品成人一区二区三区吃奶| 中文字幕日韩欧美| 国产精品久久久久久超碰| 久久精品电影网站| 久久久精品久久久久| 欧美黑人xxxx| 欧美性感美女h网站在线观看免费| 欧美福利在线观看| 另类少妇人与禽zozz0性伦| 亚洲人成五月天| 国产自产女人91一区在线观看| 久久久精品中文字幕| 91精品国产免费久久久久久| 亚洲精品国产美女| 日韩中文字幕第一页| 亚洲激情在线观看视频免费| 欧美激情精品久久久久久蜜臀| 日韩一二三在线视频播| 在线观看欧美日韩国产| 91精品国产综合久久久久久蜜臀| 成人在线视频网站| 色婷婷久久av| 日日狠狠久久偷偷四色综合免费| 日韩精品久久久久| 久久综合五月天| 国产盗摄xxxx视频xxx69| 日韩av黄色在线观看| 91精品久久久久| 日韩在线小视频| 精品视频偷偷看在线观看| 日韩av片永久免费网站| 精品无人区乱码1区2区3区在线| 亚洲精品成人久久久| 日韩欧美视频一区二区三区| 综合国产在线视频| 亚洲国产精品女人久久久| 精品久久久久久久久中文字幕| 欧美激情一级二级| 亚洲自拍偷拍福利| 68精品国产免费久久久久久婷婷| 亚洲精品一区二区久| 国产丝袜精品视频| 色爱精品视频一区| 91欧美精品午夜性色福利在线| 色悠久久久久综合先锋影音下载| 国产日韩欧美在线看| 国产精品欧美激情| 欧美疯狂做受xxxx高潮| 国产精品大陆在线观看| 欧美国产日韩在线| 色阁综合伊人av| 亚洲精品动漫久久久久| 国产一区二区黑人欧美xxxx| 久久99青青精品免费观看| 在线精品视频视频中文字幕| 国产日韩精品在线观看| 国产精品69av| 欧美日韩一区二区免费视频| 激情av一区二区| 色综合视频一区中文字幕| 97成人精品视频在线观看| 精品中文视频在线| 国产精品网站大全| 日韩欧美主播在线| 国内精品久久久久久久| 清纯唯美亚洲激情| 奇门遁甲1982国语版免费观看高清| 亚洲三级黄色在线观看| 亚洲网站在线播放| 久久国产精品电影| 国产精品极品美女粉嫩高清在线| 亚洲色图国产精品| 91精品久久久久久久久久另类| 亚洲精品国产suv| 久久精品国产亚洲| 国产精品欧美亚洲777777| 国产精品私拍pans大尺度在线| 日韩精品久久久久久久玫瑰园| 黄色一区二区在线观看| 中文字幕日韩av电影| 亚洲高清福利视频| 日韩精品极品在线观看| 亚洲免费影视第一页| 国产一区二区三区三区在线观看| 亚洲天堂第二页| 亚洲一区美女视频在线观看免费| 中国日韩欧美久久久久久久久| 欧美午夜精品久久久久久久| 色妞在线综合亚洲欧美| 亚洲欧美日韩在线一区| 91精品国产沙发| 狠狠躁夜夜躁久久躁别揉| 成人性教育视频在线观看| 自拍偷拍亚洲欧美| 久久中文久久字幕| 欧美日韩综合视频网址| 欧美日本国产在线| 欧美最猛性xxxxx(亚洲精品)| 久久免费视频网| 国产免费一区视频观看免费| 亚洲91精品在线| 国产91精品视频在线观看| 91av免费观看91av精品在线| 亚洲国产另类久久精品| 久久久久久久影院| 中文字幕av一区二区三区谷原希美| 精品亚洲国产成av人片传媒| 日本一区二区在线播放| 欧美另类高清videos| 久久久精品视频在线观看| 亚洲女人天堂视频| 国产亚洲精品成人av久久ww| 7777精品视频| 久久影视电视剧免费网站| 俺去亚洲欧洲欧美日韩| 午夜精品一区二区三区在线视频| 一本一本久久a久久精品牛牛影视| 538国产精品一区二区免费视频| 久久久久久久久久国产精品| 97视频国产在线| 97久久精品人搡人人玩| 国产不卡视频在线|