//當頁面加載完畢以後加載此頁面 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"); } }