function createXHR(){
// 檢測原生XHR對象是否存在
if ( window.XMLHpptRequest ){
// 若是存在就返回新實例
return new XMLHpptRequest();
} else { // 若是不存在就檢測ActiveX對象
// 兼容IE5/6
return new ActiveXObject('Microsoft.XMLHttp');
}
}
// 在全部的瀏覽器中建立XHR對象
var xhr = new createXHR();
xhr.onReadyStateChange = function(){
// readyState表示請求/響應過程的當前活動階段。4表示完成,0-3不用關心。
if (xhr.readyState == 4) {
// status爲狀態碼,是響應的HTTP狀態,200到300之間或304都表示響應已經成功返回
if( ( (xhr.status >= 200 && xhr.status <= 300) || xhr.status == 304 ) {
// responseText做爲響應主體被返回的文本
console.log(xhr.responseText);
} else {
// ...
}
}
// open()方法是啓動一個請求以備發送
// open接收3個參數:請求類型、請求的url,是否異步發送請求的布爾值(可選,true爲異步)
xhr.open("GET", url, true);
// send()發送特定的請求,接收一個參數,做爲請求主題發送的數據。
xhr.send();
xhr.open("POST", url, false);
xhr.send(data);
複製代碼