天天看點

Web中的XHRHttpRequest

1.提出者:jesse james garrett

2.ie中,xhr是通過activex對象實作的。涉及浏覽器的相容性寫法。

3.使用

<1>open("請求方式","請求的url",“同步還是異步”)    

<2>send("作為請求主體發送的資料")    如果不需要,則必須傳入null。

<3>responsetext()     作為響應主體被傳回的文本,還有一個responsexml

<4>status    響應的http狀态

<5>statustext    http狀态的說明

4.readystate

隻要readystate由一個值變為另外一個值,都會觸發onreadystatechange事件處理程式。為了確定相容性,應該在open之前調用onreadystatechange。有請求也就可以取消請求,使用xhr.abort()即可。

5.http的頭資訊

6.get請求

使用get請求經常會發生一個錯誤,就是差查詢字元串的格式有問題。查詢字元串中每個參數的名稱和值都必須使用encodeuricomponent()進行編碼,然後才能放到url的末尾。

blob對象:是一個二進制對象,如圖檔等

7.xmlhttprequest 2級

<1>formdata

為表單的序列化以及建立與表單格式相同的資料提供了便利。

<2>逾時設定

請求逾時執行回調:xhr.timeout=function(){}

<3>overridemimetype()

重寫xhr響應的mime類型

<4>進度事件

<5>load事件

<6>progress事件

8.執行個體示範:

js:

Web中的XHRHttpRequest
Web中的XHRHttpRequest

結果:

Web中的XHRHttpRequest

請求與響應的資訊:

Web中的XHRHttpRequest

改成post請求後:

Web中的XHRHttpRequest

2015-10-31 start

9.xhr中,post與get的簡單對比

不會改變伺服器狀态,隻擷取資料(被稱為“幂等行為”)的請求,使用get。經過get請求的資料會被緩存,多次請求的話,有助于提升性能。

由于浏覽器對url的長度限制,使用較長url會被截斷。使用post。

2015-10-31 end

轉載:http://www.cnblogs.com/zqzjs/p/4912623.html

繼續閱讀