天天看點

XMLHttpRequest 對象(AJAX)的狀态碼(readyState)及HTTP 狀态代碼(status)的對照表

XMLHttpRequest 對象(AJAX)的狀态碼(readyState)

    當一個 XMLHttpRequest 初次建立時,這個屬性的值從 0 開始,直到接收到完整的 HTTP 響應,這個值增加到 4。5 個狀态中每一個都有一個相關聯的非正式的名稱,下表列出了狀态、名稱和含義:

狀态 名稱 描述
Uninitialized 初始化狀态。XMLHttpRequest 對象已建立或已被 abort() 方法重置。
1 Open open() 方法已調用,但是 send() 方法未調用。請求還沒有被發送。
2 Sent Send() 方法已調用,HTTP 請求已發送到 Web 伺服器。未接收到響應。
3 Receiving 所有響應頭部都已經接收到。響應體開始接收但未完成。
4 Loaded HTTP 響應已經完全接收。

    readyState 的值不會遞減,除非當一個請求在處理過程中的時候調用了 abort() 或 open() 方法。每次這個屬性的值增加的時候,都會觸發 onreadystatechange 事件句柄。

HTTP 狀态代碼(status)

    由伺服器傳回的 HTTP 狀态代碼,如 200 表示成功,而 404 表示 "Not Found" 錯誤。當 readyState 小于 3 的時候讀取這一屬性會導緻一個異常。

1xx: 資訊

消息: 描述:
100 Continue 伺服器僅接收到部分請求,但是一旦伺服器并沒有拒絕該請求,用戶端應該繼續發送其餘的請求。
101 Switching Protocols 伺服器轉換協定:伺服器将遵從客戶的請求轉換到另外一種協定。

2xx: 成功

消息: 描述:
200 OK 請求成功(其後是對GET和POST請求的應答文檔。)
201 Created 請求被建立完成,同時新的資源被建立。
202 Accepted 供處理的請求已被接受,但是處理未完成。
203 Non-authoritative Information 文檔已經正常地傳回,但一些應答頭可能不正确,因為使用的是文檔的拷貝。
204 No Content 沒有新文檔。浏覽器應該繼續顯示原來的文檔。如果使用者定期地重新整理頁面,而Servlet可以确定使用者文檔足夠新,這個狀态代碼是很有用的。
205 Reset Content 沒有新文檔。但浏覽器應該重置它所顯示的内容。用來強制浏覽器清除表單輸入内容。
206 Partial Content 客戶發送了一個帶有Range頭的GET請求,伺服器完成了它。

3xx: 重定向

消息: 描述:
300 Multiple Choices 多重選擇。連結清單。使用者可以選擇某連結到達目的地。最多允許五個位址。
301 Moved Permanently 所請求的頁面已經轉移至新的url。
302 Found 所請求的頁面已經臨時轉移至新的url。
303 See Other 所請求的頁面可在别的url下被找到。
304 Not Modified 未按預期修改文檔。用戶端有緩沖的文檔并發出了一個條件性的請求(一般是提供If-Modified-Since頭表示客戶隻想比指定日期更新的文檔)。伺服器告訴客戶,原來緩沖的文檔還可以繼續使用。
305 Use Proxy 客戶請求的文檔應該通過Location頭所指明的代理伺服器提取。
306 Unused 此代碼被用于前一版本。目前已不再使用,但是代碼依然被保留。
307 Temporary Redirect 被請求的頁面已經臨時移至新的url。

4xx: 用戶端錯誤

消息: 描述:
400 Bad Request 伺服器未能了解請求。
401 Unauthorized 被請求的頁面需要使用者名和密碼。
402 Payment Required 此代碼尚無法使用。
403 Forbidden 對被請求頁面的通路被禁止。
404 Not Found 伺服器無法找到被請求的頁面。
405 Method Not Allowed 請求中指定的方法不被允許。
406 Not Acceptable 伺服器生成的響應無法被用戶端所接受。
407 Proxy Authentication Required 使用者必須首先使用代理伺服器進行驗證,這樣請求才會被處理。
408 Request Timeout 請求超出了伺服器的等待時間。
409 Conflict 由于沖突,請求無法被完成。
410 Gone 被請求的頁面不可用。
411 Length Required "Content-Length" 未被定義。如果無此内容,伺服器不會接受請求。
412 Precondition Failed 請求中的前提條件被伺服器評估為失敗。
413 Request Entity Too Large 由于所請求的實體的太大,伺服器不會接受請求。
414 Request-url Too Long 由于url太長,伺服器不會接受請求。當post請求被轉換為帶有很長的查詢資訊的get請求時,就會發生這種情況。
415 Unsupported Media Type 由于媒介類型不被支援,伺服器不會接受請求。
416  伺服器不能滿足客戶在請求中指定的Range頭。
417 Expectation Failed

5xx: 伺服器錯誤

消息: 描述:
500 Internal Server Error 請求未完成。伺服器遇到不可預知的情況。
501 Not Implemented 請求未完成。伺服器不支援所請求的功能。
502 Bad Gateway 請求未完成。伺服器從上遊伺服器收到一個無效的響應。
503 Service Unavailable 請求未完成。伺服器臨時過載或當機。
504 Gateway Timeout 網關逾時。
505 HTTP Version Not Supported 伺服器不支援請求中指明的HTTP協定版本。

繼續閱讀