1.概述
XMLHttpRequest Level 2是對XMLHttpRequest增強,具有cross-origin支持性。
2.瀏覽器支持性檢測
if (typeof xhr.withCredentials === undefined) { document.getElementById("support").innerHTML = "Your browser <strong>doesnot</strong> support cross-origin XMLHttpRequest"; } else { document.getElementById("support").innerHTML = "Your browser <strong>does</strong> support cross-origin XMLHttpRequest"; }
3.新的事件名稱
在XMLHttpRequest Level 2之前,XMLHttpRequest請求與響應(yīng)的狀態(tài)使用一些數(shù)值進(jìn)行表示,類似于枚舉。XMLHttpRequest Level 2使用命名的事件代替請求與響應(yīng)的不同狀態(tài),這些命名事件具有相應(yīng)的事件屬性,可以將事件處理函數(shù)賦予各事件的事件屬性。
XMLHttpRequest對象有一些事件,如:loadstart, progress, abort, error, load, upload, loaded等。
這些事件可以看作XMLHttpRequest的子對象,并且它們有一些事件屬性,
XMLHttpRequest本身具有一些事件屬性和事件。XMLHttpRequest事件屬性有XMLHttpRequest.onprograss, XMLHttpRequest.onload, XMLHttpRequest.onerror等。
可以在事件處理程序函數(shù)中傳入一個參數(shù)e,e具有一些與事件和數(shù)據(jù)信息相關(guān)的屬性,比如:e.total, e.loaded, e.uploaded, e.downloaded, e.lengthComputable等。