您好,登錄后才能下訂單哦!
這篇文章主要介紹“AJAX中readyState與status有什么區(qū)別”,在日常操作中,相信很多人在AJAX中readyState與status有什么區(qū)別問題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”AJAX中readyState與status有什么區(qū)別”的疑惑有所幫助!接下來,請(qǐng)跟著小編一起來學(xué)習(xí)吧!
先看代碼
這段代碼構(gòu)造一個(gè)XHR對(duì)象的實(shí)例request,并用它來建立異步請(qǐng)求。在onreadystatechange事件中,我們發(fā)現(xiàn)有readyState與status兩個(gè)屬性,其中readyState獲取AJAX狀態(tài)值,其值與含義如下:
0:請(qǐng)求未初始化,open方法還未調(diào)用
1:服務(wù)器連接已建立,open已調(diào)用
2:請(qǐng)求已接受,即收到頭信息
3:請(qǐng)求處理中,即收到響應(yīng)主體
4:請(qǐng)求完成,即響應(yīng)完成
而status則獲取HTTP狀態(tài)碼,其由三位數(shù)字組成,第一位數(shù)與含義如下:
1xx:表示服務(wù)器收到web瀏覽器的請(qǐng)求,正在處理
2xx:成功,表示用戶請(qǐng)求被正確接受、理解和處理
3xx:重定向,表示請(qǐng)求沒有成功,客戶需要采取進(jìn)一步動(dòng)作
4xx:客戶端錯(cuò)誤,表示客戶端提交的請(qǐng)求錯(cuò)誤
5xx:服務(wù)器錯(cuò)誤,表示服務(wù)器不能完成對(duì)請(qǐng)求的處理
那么AJAX狀態(tài)值與HTTP狀態(tài)碼之間有什么區(qū)別與聯(lián)系呢?這是一個(gè)值得思考的問題,雖然其對(duì)編程本身沒有用,但秉著知其然更要知其所以然的道理,我們還是來研究一下。
眾所周知,AJAX的核心是XHR對(duì)象,在AJAX執(zhí)行過程中,readyState的值從0開始變化,當(dāng)AJAX運(yùn)行到send方法調(diào)用時(shí),發(fā)送HTTP請(qǐng)求,HTTP請(qǐng)求安裝步驟執(zhí)行,此時(shí)status的值開始發(fā)生變化,AJAX運(yùn)行機(jī)制等待HTTP請(qǐng)求返回結(jié)果。最后,當(dāng)HTTP請(qǐng)求返回結(jié)果后,無論HTTP請(qǐng)求成功還是失敗、也不管是否請(qǐng)求到正確信息,AJAX的運(yùn)行機(jī)制都會(huì)繼續(xù)執(zhí)行,直到完成運(yùn)行或者出錯(cuò)為止。這就是我理解的AJAX狀態(tài)值與HTTP狀態(tài)碼之間的關(guān)系。
到此,關(guān)于“AJAX中readyState與status有什么區(qū)別”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。