詳解原生AJAX請求demo(兼容IE5/6)

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);
複製代碼
相關文章
相關標籤/搜索