xmlhttp對象屬性和方法_javascript

xmlhttp

/*javascript

 * By:D.n.sky Xml Http
   Xml Http是經過http協議傳送或接收XML及其餘數據的一套API
   IE中使用ActiveXObject方法建立 Xml Http對象, FireFoxOpera等經過window.XMLHttpRequest來建立 Xml Http
 */
 
 
/*
 *  Xml Http 對象屬性 '*' 表示此屬性是W3C文檔對象模型的擴展
   ------------------------------------------------------
    1.onreadystatechange * -w 指定當readyState屬性改變時的事件處理句柄
    2.readyState -r 返回當前請求的狀態
           -----------------------------------
           0 未初始化 對象已創建,可是還沒有初始化(還沒有調用open方法)
           1 初始化 對象已創建,還沒有調用send方法
           2 發送數據 send方法已調用,可是當前的狀態及http頭未知
           3 數據傳輸中 已接收部分數據,由於響應及http頭不全,這時經過responseBody和responseText獲取的部分數據會出錯
           4 完成 數據接收完畢,此時經過responseBody和responseText獲取完整的迴應數據
   3.responseBody -r 將回應信息正文以unsigned byte數組的形式返回
   4.responseStreatm -r 以Ado Stream對象的形式返回響應信息
   5.responseText -r 將響應做爲字符串返回
     XMLHTTP嘗試將響應信息解碼爲Unicode字符串,XMLHTTP默認將響應數據的編碼定爲UTF-8,若是服務器返回的數據帶BOM(byte-order mark),XMLHTTP能夠解碼任何UCS-2 (big or little endian)或者UCS-4 數據。
   6.responseXML -r 將響應信息格式化爲Xml Document對象並返回
   7.statusText -r 返回當前請求的響應行狀態
   8.status -r 返回當前請求的http狀態碼
           -----------------------------------
           Number  Description 
           --信息-----------------
           100 Continue 服務器僅接收部分請求,可是一旦服務器並無拒絕該請求,客戶端應該繼續發送其他請求
           101 Switching protocols 服務器轉換協議:服務器將遵循從客戶的請求轉換到另外一種協議
           --成功-----------------
           200 OK 請求成功(其後是對GET和POST請求的應答文檔)
           201 Created 請求被建立完成,同時新的資源被建立
           202 Accepted 供處理的請求已被接受,可是處理未完成
           203 Non-Authoritative Information 文檔已經正常的返回,可是一些應答頭可能不正確,由於使用的是文檔的拷貝
           204 No Content     沒有新文檔。瀏覽器應該繼續顯示原來的文檔。若是用戶按期地刷新頁面,而Servlet能夠肯定用戶文檔足夠新,這個狀態代碼是頗有用的
           205 Reset Content 沒有新文檔。但瀏覽器應該重置它所顯示的內容。用來強制瀏覽器清除表單輸入內容
           206 Partial Content     客戶發送了一個帶有Range頭的GET請求,服務器完成了它
           --重定向------------
           300 Multiple Choices 多重選擇。連接列表。用戶能夠選擇某連接到達目的地。最多容許五個地址
           301 Moved Permanently 所請求的頁面已經轉移至新的url
           302 Found 所請求的頁面已經臨時轉移至新的url
           303 See Other 所請求的頁面可在別的url下被找到
           304 Not Modified 未按預期修改文檔。客戶端有緩衝的文檔併發出了一個條件性的請求(通常是提供If-Modified-Since頭表示客戶只想比指定日期更新的文檔)。服務器告訴客戶,原來緩衝的文檔還能夠繼續使用
           305 Use Proxy 客戶請求的文檔應該經過Location頭所指明的代理服務器提取
           307 Temporary Redirect 被請求的頁面已經臨時移至新的url
           --客戶端錯誤----------------
           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-URI Too Long 因爲url太長,服務器不會接受請求。當post請求被轉換爲帶有很長的查詢信息的get請求時,就會發生這種狀況
           415 Unsupported Media Type 因爲媒介類型不被支持,服務器不會接受請求
           416 Requested Range Not Suitable 服務器不能知足客戶在請求中指定的Range頭
           417 Expectation Failed
           --服務器錯誤---------------
           500 Internal Server Error 請求爲完成,服務器遇到不可預知的狀況
           501 Not Implemented     請求未完成。服務器不支持所請求的功能。
           502 Bad Gateway 請求未完成。服務器從上游服務器收到一個無效的響應
           503 Service Unavailable     請求未完成。服務器臨時過載或當機
           504 Gateway Timeout 網關超時
           505 HTTP Version Not Supported     服務器不支持請求中指明的HTTP協議版本
           --------------------------------------------
   ------------------------------------------------------
   方法
   ------------------------------------------------------
   open 建立一個新的http請求,並指定此請求的方法,URL以及驗證信息(用戶名/密碼)
   send 發送請求到http服務器並接受迴應
   abort 取消當前請求
   setRequestHeader 單獨的指定請求的某個http頭
   getAllResponseHeaders 獲取響應的全部http頭
   getResponseHeader 從響應信息中獲取指定的http頭
 */
 
/* 方法詳細
 * 1.xmlhttp.open(
       Mpyhod, -> http方法,GET,POST,PUT,PROPFIND,不區分大小寫
       URL, -> 請求URL的地址,絕對/相對地址
       Async, -> [可選] boolean,指定請求是不是異步方式,默認true,當狀態改變時會調用onreadystatechange屬性指定的回調函數。
       User, -> [可選] 服務器須要驗證用戶名
       Password -> [可選] 服務器須要驗證的密碼
   )
    2.send()
    說明:方法中的同步/異步取決於open的Async
    ---Async--------------------------------—
    false 等待請求完成或者超時才返回
    true 當即返回
    ---數據—----------------------------------
    BSTR 迴應唄編碼爲utf-8,必須在適當的位置設置一個包含charset的文檔類型頭
    XML DOM Object 則迴應將被編碼爲在xml文檔中聲明的編碼,若是xml中未聲明,則使用默認utf-8
    3.getAllResponseHeaders()
    http頭名稱/值用':'分割,以\r\n結束,當send方法完成後纔可調用
    4.getResponseHeader(header) 當send方法完成後纔可調用
    5.setRequestHeader(header, value ) 在open方法後調用
    6.abort()
    當前請求返回 UNINITIALIZED 狀態
   
 */ php

推薦博文:css

相關文章
相關標籤/搜索