XHR readyState:深入解析與使用指南

引言

XHLHttpRequest(XHR)是現(xiàn)代web開(kāi)發(fā)中不可或缺的技術(shù)之一放闺。它允許我們?cè)诓粩嗨⑿抡麄€(gè)頁(yè)面的情況下,與服務(wù)器進(jìn)行數(shù)據(jù)交換鸽扁,readyState是XHR的一個(gè)屬性顾稀,它表示請(qǐng)求/響應(yīng)過(guò)程的當(dāng)前活動(dòng)階段。了解readyState對(duì)于高效使用(XHR)至關(guān)重要低斋。

什么是XHLHttpRequest?

readyState是XHLHttpRequest對(duì)象的一個(gè)只讀屬性,它代表了當(dāng)前的只讀狀態(tài)匪凡,readystate的值是一個(gè)整數(shù)膊畴,它隨著請(qǐng)求過(guò)程的不同階段而變化

  • 0 (UNSENT):請(qǐng)求未初始化。尚未調(diào)用open()方法
  • 1 (OPEND):服務(wù)器連接已建立病游,已調(diào)用open()方法唇跨,但尚未調(diào)用send()方法
  • 2 (HEANDERS_RECEICED):請(qǐng)求已接收,send()方法已經(jīng)調(diào)用衬衬,且頭部和狀態(tài)已可獲取
  • 3 (LOADING):請(qǐng)求獲取中买猖,響應(yīng)體正在下載中,此時(shí)部分?jǐn)?shù)據(jù)可能已經(jīng)可用滋尉。
  • 4 (DONE):請(qǐng)求完成玉控。整個(gè)請(qǐng)求過(guò)程已完成,且數(shù)據(jù)響應(yīng)已就緒兼砖。

如何使用XHR readyState奸远?

要使用readtState我們首先要new一個(gè)XHLHttpRequest實(shí)例既棺,然后通過(guò)一個(gè)事件處理函數(shù)讽挟,來(lái)監(jiān)聽(tīng)readyStateChange事件,每當(dāng)readyState發(fā)生改變丸冕,都會(huì)觸發(fā)這個(gè)事件耽梅。

var xhr = new XHLHttpRequest()
xhr.onreadyStateChange = () => {
    if(xhr.readyState === 4 && xhr.status === 200) {
        //  請(qǐng)求成功,處理響應(yīng)數(shù)據(jù)
        console.log(xhr.responsetText)
    }
}
xhr.open('GET', 'http://baidu.com')
xhr.send(***)

注意事項(xiàng)

  • readyState是一個(gè)只讀屬性胖烛,不可修改
  • readyState的變化是同事發(fā)生的眼姐,但readyStateChange事件是異步發(fā)生的
  • 在某些情況下readyState的值可能會(huì)跳過(guò)某些狀態(tài)诅迷,例如從0直接到4
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市众旗,隨后出現(xiàn)的幾起案子罢杉,更是在濱河造成了極大的恐慌,老刑警劉巖贡歧,帶你破解...
    沈念sama閱讀 219,188評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件滩租,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡利朵,警方通過(guò)查閱死者的電腦和手機(jī)律想,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,464評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)绍弟,“玉大人技即,你說(shuō)我怎么就攤上這事≌燎玻” “怎么了而叼?”我有些...
    開(kāi)封第一講書人閱讀 165,562評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)豹悬。 經(jīng)常有香客問(wèn)我澈歉,道長(zhǎng),這世上最難降的妖魔是什么屿衅? 我笑而不...
    開(kāi)封第一講書人閱讀 58,893評(píng)論 1 295
  • 正文 為了忘掉前任埃难,我火速辦了婚禮,結(jié)果婚禮上涤久,老公的妹妹穿的比我還像新娘涡尘。我一直安慰自己,他們只是感情好响迂,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,917評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布考抄。 她就那樣靜靜地躺著,像睡著了一般蔗彤。 火紅的嫁衣襯著肌膚如雪川梅。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書人閱讀 51,708評(píng)論 1 305
  • 那天然遏,我揣著相機(jī)與錄音贫途,去河邊找鬼。 笑死待侵,一個(gè)胖子當(dāng)著我的面吹牛丢早,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 40,430評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼怨酝,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼傀缩!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起农猬,我...
    開(kāi)封第一講書人閱讀 39,342評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤赡艰,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后斤葱,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體瞄摊,經(jīng)...
    沈念sama閱讀 45,801評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,976評(píng)論 3 337
  • 正文 我和宋清朗相戀三年苦掘,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了换帜。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,115評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡鹤啡,死狀恐怖惯驼,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情递瑰,我是刑警寧澤祟牲,帶...
    沈念sama閱讀 35,804評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站抖部,受9級(jí)特大地震影響说贝,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜慎颗,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,458評(píng)論 3 331
  • 文/蒙蒙 一乡恕、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧俯萎,春花似錦傲宜、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 32,008評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至撇眯,卻和暖如春报嵌,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背熊榛。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 33,135評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工锚国, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人来候。 一個(gè)月前我還...
    沈念sama閱讀 48,365評(píng)論 3 373
  • 正文 我出身青樓跷叉,卻偏偏與公主長(zhǎng)得像逸雹,于是被迫代替她去往敵國(guó)和親营搅。 傳聞我的和親對(duì)象是個(gè)殘疾皇子云挟,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,055評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 簡(jiǎn)介 XMLHttpRequest(XHR)對(duì)象用于與服務(wù)器交互。通過(guò)XMLHttpRequest可以在不刷新頁(yè)面...
    記錄經(jīng)歷閱讀 3,432評(píng)論 0 1
  • 你真的會(huì)使用XMLHttpRequest嗎转质? 轉(zhuǎn)載自 segmentfault 平臺(tái) ruoyiqing ,侵...
    趙客縵胡纓v吳鉤霜雪明閱讀 806評(píng)論 0 17
  • 1.簡(jiǎn)介 瀏覽器與服務(wù)器之間园欣,采用 HTTP 協(xié)議通信。用戶在瀏覽器地址欄鍵入一個(gè)網(wǎng)址休蟹,或者通過(guò)網(wǎng)頁(yè)表單向服務(wù)器提...
    wit92閱讀 346評(píng)論 0 0
  • 官方文檔[https://developer.mozilla.org/zh-CN/docs/Web/API/XML...
    郝宇知時(shí)婕閱讀 604評(píng)論 0 1
  • 看到標(biāo)題時(shí)赂弓,有些同學(xué)可能會(huì)想:“我已經(jīng)用xhr成功地發(fā)過(guò)很多個(gè)Ajax請(qǐng)求了绑榴,對(duì)它的基本操作已經(jīng)算挺熟練了∮” 我...
    前端渣渣閱讀 5,765評(píng)論 1 12