主頁 > 知識庫 > jQuery AJAX中readyState與status的區(qū)別與聯(lián)系

jQuery AJAX中readyState與status的區(qū)別與聯(lián)系

熱門標簽:團購網(wǎng)站 阿里云 科大訊飛語音識別系統(tǒng) 銀行業(yè)務 電子圍欄 Linux服務器 服務器配置 Mysql連接數(shù)設置

作為web前端大殺器之一的AJAX,它的出現(xiàn)顛覆了很多人對web前端的理解,從我個人的角度看來,如果說1996年html/css/JavaScript三神器的終于集齊,使得web前端擁有了召喚神龍的能力,那么ajax就是三神器召喚出來的第一條神龍,從此以后,前后端代碼擁有了完全分開的可能,在遇見要向后臺傳參之類的問題時,前端程序猿們都可以自信的喊出:竜が我が敵をくらえ。。。。。

在使用AJAX時,這里我用的是原生的js而不是jQuery等框架,因為女王告訴我們原生的才是最強大的。。。。

話不多說,先看代碼

 

這段代碼構造一個XHR對象的實例request,并用它來建立異步請求。在onreadystatechange事件中,我們發(fā)現(xiàn)有readyState與status兩個屬性,其中readyState獲取AJAX狀態(tài)值,其值與含義如下:

0:請求未初始化,open方法還未調用

1:服務器連接已建立,open已調用

2:請求已接受,即收到頭信息

3:請求處理中,即收到響應主體

4:請求完成,即響應完成

而status則獲取HTTP狀態(tài)碼,其由三位數(shù)字組成,第一位數(shù)與含義如下:

1xx:表示服務器收到web瀏覽器的請求,正在處理

2xx:成功,表示用戶請求被正確接受、理解和處理

3xx:重定向,表示請求沒有成功,客戶需要采取進一步動作

4xx:客戶端錯誤,表示客戶端提交的請求錯誤

5xx:服務器錯誤,表示服務器不能完成對請求的處理

那么AJAX狀態(tài)值與HTTP狀態(tài)碼之間有什么區(qū)別與聯(lián)系呢?這是一個值得思考的問題,雖然其對編程本身沒有用,但秉著知其然更要知其所以然的道理,我們還是來研究一下。

眾所周知,AJAX的核心是XHR對象,在AJAX執(zhí)行過程中,readyState的值從0開始變化,當AJAX運行到send方法調用時,發(fā)送HTTP請求,HTTP請求安裝步驟執(zhí)行,此時status的值開始發(fā)生變化,AJAX運行機制等待HTTP請求返回結果。最后,當HTTP請求返回結果后,無論HTTP請求成功還是失敗、也不管是否請求到正確信息,AJAX的運行機制都會繼續(xù)執(zhí)行,直到完成運行或者出錯為止。這就是我理解的AJAX狀態(tài)值與HTTP狀態(tài)碼之間的關系。
不知道我這樣理解大家是否可以接受,如果有不清楚或者認為有錯的地方,歡迎大家在評論區(qū)指出。阿里嘎多。

您可能感興趣的文章:
  • 探討Ajax中有關readyState(狀態(tài)值)和status(狀態(tài)碼)的問題
  • jQuery Ajax的readyState和status的區(qū)別和使用詳解

標簽:萍鄉(xiāng) 衡水 大理 衢州 江蘇 棗莊 蚌埠 廣元

巨人網(wǎng)絡通訊聲明:本文標題《jQuery AJAX中readyState與status的區(qū)別與聯(lián)系》,本文關鍵詞  ;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266