<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-84  評論-56  文章-0  trackbacks-0
     

    XMLHttpRequest(XHR)

    Ø 瀏覽器可以直接從JavaScript中初始化請求并獲取結果。

    Ø 本質上是添加了額外的用于發送和接收XML代碼功能的普通HTTP請求。

    Ø 像一個 ServletRequest

    XMLHttpRequest對象的屬性和事件

    Ø XMLHttpRequest對象的屬性

    屬性名稱

    描述

    onreadystatechange

    指定當readyState屬性改變時的事件處理句柄,只寫

    readyState

    返回當前請求的狀態,只讀。

    responseBody

    將回應信息正文以unsigned byte數組形式返回,只讀。

    responseStream

    Ado Stream對象的形式返回響應信息,只讀

    responseText

    將響應信息作為字符串返回,只讀

    responseXML

    將響應信息格式化為Xml Document對象并返回,只讀

    status

    返回當前請求的http狀態碼,只讀

    statusText

    返回當前請求的響應行狀態,只讀

    XMLHttpRequest對象的方法

    Ø XMLHttpRequest對象的方法

    方法名稱

    描述

    abort

    取消當前請求

    getAllResponseHeaders

    獲取響應的所有http

    getResponseHeader

    從響應信息中獲取指定的http

    open

    創建一個新的http請求,并指定此請求的方法、URL以及驗證信息(用戶名/密碼) //常用

    send

    發送請求到http服務器并接收回應 //常用

    setRequestHeader

    單獨指定請求的某個http

    XMLHttpRequest對象的readyState屬性

    Ø ReadyState屬性

    屬性名稱

    描述

    0 (未初始化)

    對象已建立,但是尚未初始化(尚未調用open方法)

    1 (初始化)

    對象已建立,尚未調用send方法

    2 (發送數據)

    send方法已調用,但是當前的狀態及http頭未知

    3 (數據傳送中)

    已接收部分數據,因為響應及http頭不全,這時通過responseBodyresponseText獲取部分數據會出現錯誤

    4 (完成)

    數據接收完畢,此時可以通過通過responseBodyresponseText獲取完整的回應數據

    XMLHttpRequest對象的onreadystatechange事件

    Ø 每個狀態改變時都會觸發這個事件處理器,通常會調用一個JavaScript 函數。

    Ø 語法

    onreadystatechang 指定當readyState屬性改變時的事件處理句柄,只寫

    xmlHttpObj.onreadystatechange=callback;

    function callback (){

     if(xmlHttpObj.readyState==4){

        if(xmlHttpObj.stateus==200){

            alert(xmlHttpObj.responseText);

        }else{

            alert("加載失敗!"n原因:"+xmlHttpObj.stateText);

        }

     }

    }

    XMLHttpRequest對象的responseText屬性

    Ø 服務器的響應,表示為一個串。

    Ø 客戶端接收到的HTTP響應的文本內容。

    Ø readyState值為012時,responseText包含一個空字符串。

    Ø readyState值為3(正在接收)時,響應中包含客戶端還未完成的響應信息。

    Ø readyState4(已加載)時,該responseText包含完整的響應信息。

    XMLHttpRequest對象的responseXML屬性

    Ø 服務器的響應,表示為XML

    Ø 用于當接收到完整的HTTP響應時(readyState4)描述XML響應。

    Ø Content-Type頭部指定MIME(媒體)類型為text/xmlapplication/xml或以+xml結尾。

    Ø 如果Content-Type頭部并不包含這些媒體類型之一,那么responseXML的值為null

    Ø 無論何時,只要readyState值不為4,那么該responseXML的值也為null

    Ø responseXML可以返回一個文檔樹(DOM),可以使用document.getElementsByTagNamedocument.getElementsByTagNameNSdocument.getElementById等對其操作。

    XMLHttpRequest對象的status屬性

    Ø 長整形標準http狀態碼。

    Ø 僅當readyState值為3(正在接收中)4(已加載)時,這個status屬性才可用。

    Ø readyState的值小于3時試圖存取status的值將引發一個異常。

    Ø 狀態碼如下定義:

    描述

    100

    Continue

    101

    Switching protocols

    200

    OK

    201

    Created

    202

    Accepted

    203

    Non-Authoritative Information

    204

    No Content

    205

    Reset Content

    206

    Partial Content

    300

    Multiple Choices

    301

    Moved Permanently

    302

    Found

    303

    See Other

    304

    Not Modified

    305

    Use Proxy

    307

    Temporary Redirect

    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

    412

    Precondition Failed

    413

    Request Entity Too Large

    414

    Request-URI Too Long

    415

    Unsupported Media Type

    416

    Requested Range Not Suitable

    417

    Expectation Failed

    500

    Internal Server Error

    501

    Not Implemented

    502

    Bad Gateway

    503

    Service Unavailable

    504

    Gateway Timeout

    505

    HTTP Version Not Supported

    XMLHttpRequest對象的statusText屬性

    Ø 描述了HTTP狀態代碼文本。

    Ø 僅當readyState值為34才可用。

    Ø readyState為其它值時試圖存取statusText屬性將引發一個異常。 

    Ø 返回當前請求的響應行狀態

    XMLHttpRequest對象的abort()方法

    Ø 暫停與一個XMLHttpRequest對象相聯系的HTTP請求。

    Ø 從而把該對象復位到未初始化狀態。

    Ø 用來中斷請求,取消當前請求。

    XMLHttpRequest對象的open()方法

    Ø void open(string method, string url, boolean asynch, string username, string password) 建立對服務器的連接,初始化一個XHR對象的純腳本方法。

    1.         ethod參數: 是必須提供的-指定發送請求的HTTP方法(GETPOSTPUTDELETEHEAD)

    2.         uri參數: 用于指定請求發送到的服務器相應的URI

    3.         async參數: 指定請求是否是異步的,預設是true,表示使用非同步方式。為了發送一個同步請求,需要把這個參數設置為false

    Ø 對于要求認證的服務器,提供可選的用戶名和口令參數。

    Ø 在調用open()方法后,XMLHttpRequest對象把readyState屬性設置為1(打開)

    Ø 并且把responseTextresponseXMLstatusstatusText屬性復位到它們的初始值。

    XMLHttpRequest對象的send()方法

    Ø 向服務器發送請求。

    Ø 僅當readyState值為1時,才可以調用send()方法;否則的話,XHR對象將引發一個異常。

    Ø async參數為true時,send()方法立即返回,從而允許其它客戶端腳本繼續處理。

    Ø 在調用send()方法后,XHR對象把readyState的值設置為2(發送)

    Ø 當服務器響應時,在接收消息體之前,如果存在任何消息體的話,XHR對象將把readyState設置為3(正在接收中)

    Ø 當請求完成加載時,它把readyState設置為4(已加載)

    Ø 對于一個HEAD類型的請求,它將在把readyState值設置為3后再立即把它設置為4

    Ø send()方法使用一個可選的參數-該參數可以包含可變類型的數據。

    Ø 通過POST方法把數據發送到服務器。

    Ø 可以顯式地使用null參數調用send()方法,這與不用參數調用它一樣。

    Ø 對于大多數其它的數據類型,在調用send()方法之前,應該使用setRequestHeader()方法先設置Content-Type頭部。

    Ø 可選參數可以是DOM 對象的實例、輸入流,或者串。

    Ø 傳入這個方法的內容會作為請求體的一部分發送。

    XMLHttpRequest對象的setRequestHeader()方法

    Ø setRequestHeader(DOMString headerDOMString value)方法用來設置請求的頭部信息。

    Ø readyState值為1時,你可以在調用open()方法后調用這個方法。否則,你將得到一個異常。 

    Ø getResponseHeader(DOMString headervalue)方法用于檢索響應的頭部值。

    Ø 僅當readyState值是34(換句話說,在響應頭部可用以后)時,才可以調用這個方法。否則,該方法返回一個空字符串。

    XMLHttpRequest對象的getAllResponseHeaders()方法

    Ø getAllResponseHeaders()方法以一個字符串形式返回所有的響應頭部(每一個頭部占單獨的一行)。

    Ø 如果readyState的值不是34,則該方法返回null




    作者:周大慶(zhoudaqing)
    網址:http://www.tkk7.com/yifeng
    >>>轉載請注明出處!<<<

    posted on 2008-08-26 02:31 憶風 閱讀(290) 評論(0)  編輯  收藏 所屬分類: Ajax
    主站蜘蛛池模板: 最近免费中文字幕中文高清| 国产精品亚洲аv无码播放| 免费看搞黄视频网站| 免费人成网站永久| 亚洲AV无码专区国产乱码不卡 | 全黄A免费一级毛片| 亚洲色无码专区一区| 中文字幕亚洲精品| 亚洲日韩欧洲无码av夜夜摸| 亚洲AV成人潮喷综合网| 美丽的姑娘免费观看在线播放| 成人免费乱码大片A毛片| 羞羞视频免费网站入口| 亚洲AV网一区二区三区 | 中文字幕第一页亚洲| 亚洲精品无码日韩国产不卡?V| 国产亚洲精品免费| 国产又大又粗又硬又长免费| 全免费a级毛片免费看不卡| 毛片视频免费观看| 国产又粗又长又硬免费视频| 国产成人精品免费直播| 国产传媒在线观看视频免费观看| 国产jizzjizz视频全部免费| 又大又硬又爽免费视频| 亚洲精品和日本精品| 国产亚洲精久久久久久无码| 亚洲欧洲日产国产综合网| 亚洲精品美女久久久久9999| 亚洲欧洲视频在线观看| 亚洲人成www在线播放| 亚洲精品蜜夜内射| xxxxxx日本处大片免费看| 无码A级毛片免费视频内谢| 精品国产无限资源免费观看| 免费观看的毛片手机视频| 亚洲日韩在线中文字幕第一页| 亚洲av鲁丝一区二区三区| 亚洲小视频在线播放| 福利片免费一区二区三区| 国产精品免费大片|