Ajax 與 Comet

一、關鍵詞:Javascript,XML,XMLHttpRequest

二、XMLHttpRequest

1、創建    var xhr = new XMLHttpRequest();

2、方法

同步請求     Javascript 代碼會等到服務器響應之後再繼續執行

xhr.open("get" , "example.php" , false);    三個參數分別爲發送到請求的類型、請求的URL、是否異步發送請求

xhr.send("null");    方法接受一個參數,即要作爲請求主題發送到數據

xhr,abort();     取消異步請求

在收到響應後,響應的數據會自動填充XHR對象的屬性。

3、相關屬性

responseText:響應主體的內容,非XML類型

responseXML:響應主體的內容,XML類型

status:響應的HTTP狀態

statusText:HTTP狀態的說明

                         

readyState:表示目前的請求/響應的活動階段 

                         

 readyState值 含義
0    未初始化。尚未調用open()方法
1    啓動。已經調用open(),尚未調用send()
2    發送。已經調用send(),但尚未收到響應
3    接收。已經收到部分響應數據
4    完成。已經接收到全部響應數據,而且已經可以在客戶端使用

   只要readyState屬性的值改變,就會觸發一次readystatechange事件。注意,必須在調用open()之前指定onreadystatechange事件處理程序

才能確保跨瀏覽器的兼容性。

4、HTTP頭部信息

方法:

setRequestHeader(”MyHeader“,”MyValue“);必須在open()方法調用之後,send()方法調用之前。

getResponseHeader("MyHeader");


三、XMLHttpRequest 2級

1、FormData

var form = document.getElementById("user-info");

xhr.send(new FormData(form));

2、超時設定

xhr.timeout = 1000;

xhr.ontimeout = function(){};

3、進度事件

load事件:響應接收完畢後觸發該事件

progress事件:會在瀏覽器接收新數據期間週期性地觸發

四、跨源資源共享

1、默認情況下,XHR對象只能訪問與包含它的頁面位於同一個域中的資源。CORS(Cross-Origin Resource Sharing)定義了

必須訪問跨源資源時,瀏覽器與服務器如何溝通。基本思想是使用自定義的HTTP頭部讓瀏覽器與服務器進行溝通。

發送請求,加入 Origin頭部;服務器返回時,加入Access-Control-Allow-Origin頭部。

2、圖像Ping

3、JSONP(JSON with padding,參數式JSON)是被包含在函數調用中斷JSONP

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章