Ajax 高級教程之 AJAX狀態值與狀態碼

1-  AJAX狀態值與狀態碼區別

AJAX狀態值是指,運行AJAX所經歷過的幾種狀態,不管訪問是否成功都將響應的步驟,能夠理解成爲AJAX運行步驟。如:正在發送,正在響應等,由AJAX對象與服務器交互時所得;使用「ajax.readyState」得到。(由數字1~4單位數字組成)ajax

AJAX狀態碼是指,不管AJAX訪問是否成功,由HTTP協議根據所提交的信息,服務器所返回的HTTP頭信息代碼,該信息使用「ajax.status」所得到;(由數字1XX,2XX三位數字組成,詳細查看RFC服務器

這就是咱們在使用AJAX時爲何採用下面的方式判斷所得到的信息是否正確的緣由。函數

if(ajax.readyState == 4 && ajax.status == 200) {spa

 putData(ajax.responseText);代理

}orm

2- AJAX運行步驟與狀態值說明

AJAX實際運行當中,對於訪問XMLHttpRequestXHR)時並非一次完成的,而是分別經歷了多種狀態後取得的結果,對於這種狀態在AJAX中共有5種,分別是。對象

0 - (未初始化)尚未調用send()方法資源

1 - (載入)已調用send()方法,正在發送請求回調函數

2 - (載入完成)send()方法執行完成,io

3 - (交互)正在解析響應內容

4 - (完成)響應內容解析完成,能夠在客戶端調用了

對於上面的狀態,其中「0」狀態是在定義後自動具備的狀態值,而對於成功訪問的狀態(獲得信息)咱們大多數採用「4」進行判斷。

注意: 你們還記得咱們使用原生的AJAX時  回調函數中處理函數時的條件

xhr.onreadystatechange=function(){

    if(xhr.readyState==4&&xhr.status==200){

            //回調函數的業務處理

    }

}

xhr.readyState是Ajax的狀態值


3-AJAX狀態碼說明(status狀態碼)

 

1**:請求收到,繼續處理

2**:操做成功收到,分析、接受

3**:完成此請求必須進一步處理

4**:請求包含一個錯誤語法或不能完成

5**:服務器執行一個徹底有效請求失敗

100——客戶必須繼續發出請求

101——客戶要求服務器根據請求轉換HTTP協議版本

200——交易成功

201——提示知道新文件的URL

202——接受和處理、但處理未完成

203——返回信息不肯定或不完整

204——請求收到,但返回信息爲空

205——服務器完成了請求,用戶代理必須復位當前已經瀏覽過的文件

206——服務器已經完成了部分用戶的GET請求

300——請求的資源可在多處獲得

301——刪除請求數據

302——在其餘地址發現了請求數據

303——建議客戶訪問其餘URL或訪問方式

304——客戶端已經執行了GET,但文件未變化

305——請求的資源必須從服務器指定的地址獲得

306——前一版本HTTP中使用的代碼,現行版本中再也不使用

307——申明請求的資源臨時性刪除

400——錯誤請求,如語法錯誤

401——請求受權失敗

402——保留有效ChargeTo頭響應

403——請求不容許

404——沒有發現文件、查詢或URl

405——用戶在Request-Line字段定義的方法不容許

406——根據用戶發送的Accept拖,請求資源不可訪問

407——相似401,用戶必須首先在代理服務器上獲得受權

408——客戶端沒有在用戶指定的餓時間內完成請求

409——對當前資源狀態,請求不能完成

410——服務器上再也不有此資源且無進一步的參考地址

411——服務器拒絕用戶定義的Content-Length屬性請求

412——一個或多個請求頭字段在當前請求中錯誤

413——請求的資源大於服務器容許的大小

414——請求的資源URL長於服務器容許的長度

415——請求資源不支持請求項目格式

416——請求中包含Range請求頭字段,在當前請求資源範圍內沒有range指示值,請求也不包含If-Range請求頭字段

417——服務器不知足請求Expect頭字段指定的指望值,若是是代理服務器,多是下一級服務器不能知足請求

500——服務器產生內部錯誤

501——服務器不支持請求的函數

502——服務器暫時不可用,有時是爲了防止發生系統過載

503——服務器過載或暫停維修

504——關口過載,服務器使用另外一個關口或服務來響應用戶,等待時間設定值較長

505——服務器不支持或拒絕支請求頭中指定的HTTP版本

 

4- AJAX運行步驟示義圖

相關文章
相關標籤/搜索