aJax

//當頁面加載完畢以後加載此頁面
var xmlRequest;		//全局變量的定義

function createXMLHttpRequest() {
	alert("createXMLHttpRequest");
	var xmlRequest;
	//建立XMLHttpRequest對象
	try{
		xmlRequest=new XMLHttpRequest();	//按照web標準來建立XMLhttpRequest對象,非IE瀏覽器
	}catch(e){
		try{//Msxml2.XMLHTTP 
			xmlRequest=new ActiveXObject("Msxml2.XMLHTTP");	//按照微軟的方式來建立,IE6及以上版本皆能夠
		}catch(e){
			xmlRequest=new ActiveXObject("Microsoft.XMLHTTP");	//全部IE瀏覽器都可用,可是性能沒有上一個好
		}//Microsoft.XMLHttp
	}
	//返回xmlRequest對象
	return xmlRequest;
}

//老方法獲取XMLHttpRequest對象
function getXMLHttpRequest(){
	var xmlRequest=null;	//
	if(window.XMLRequest){		//非IE瀏覽器
		xmlRequest=new XMLHttpRequest();
	}else{
		xmlRequest=new ActiveObject("Microsoft.XMLHTTP");	//IE瀏覽器
	}
	return xmlRequest;
}

//加載方法:
window.onload=function(){
	alert("has loaded...");
	document.getElementById("ok").onclick=function(){
		//建立XMLHttpRequest對象
		var xmlRequest=createXMLHttpRequest();
		/*
		 * 服務器向瀏覽器請求響應
		 * readyState
		 * 0 表明未初始化。 尚未調用 open 方法
		   1 表明正在加載。 open 方法已被調用,但 send 方法尚未被調用
		   2 表明已加載完畢。send 已被調用。請求已經開始
		   3 表明交互中。服務器正在發送響應
		   4 表明完成。響應發送完畢
		 */
		xmlRequest.onreadystatechange=function(){
			alert(xmlRequest.readystate);
			if(xmlRequest.readystate==4){
				if(xmlRequest.status==400||xmlRequest.status==304){
					var data=xmlRequest.responseText;
					alert(data);
				}
			}
		}
		/*
		 * 瀏覽器與服務器創建鏈接
		 */
		xmlRequest.open("GET","../servlet/getservlet",true);
		//alert("../servlet/getservlet");
		
		/*
		 * 瀏覽器向服務器發送請求,send方法
		 */
		xmlRequest.send("a=3&b=3");
	}
}
相關文章
相關標籤/搜索