
var xmlHttp = createXmlHttpRequestObject();

//建立xmlHttp物件
function createXmlHttpRequestObject()
{
 //will store the reference to the XMLHttpRequest object
 var xmlHttp;
 //this should work for all browsers except IE6 and older
 try 
  {
   //try to create XMLHttpRequest object
   xmlHttp = new XMLHttpRequest();
  }
  catch(e)
  {
     //assume IE6 or older
     var XmlHttpVersions = new Array("MSXML2.XMLHTTP.6.0",
								     "MSXML2.XMLHTTP.5.0",
								     "MSXML2.XMLHTTP.4.0",
								     "MSXML2.XMLHTTP.3.0",
								     "MSXML2.XMLHTTP",
								     "Microsoft.XMLHTTP");    
	 // try every prog id until one works
    for (var i=0; i<XmlHttpVersions.length && !xmlHttp; i++)
     {
      try
	   {
	    //try to create XMLHttpRequest object
	    xmlHttp = new ActiveXObject(XmlHttpVersions[i]);
	   }
	  catch (e){}
     }
  }
  //return the created object or display an error message
  if(!xmlHttp)
  alert("Error-1  creating the XMLHttpRequest Object.");
  else
  return xmlHttp;
}

//開始從伺服器讀取檔案執行(PHP檔案或是其他文字檔案或程式檔案)

function process()
{
	
 //only continue if xmlHttp isn't void
 if(xmlHttp)
 {
  //try to connect to the server
  try
  { 
  	//initiate reading a file from the server
	
	xmlHttp.open("GET","http_info.php",true);
	xmlHttp.onreadystatechange = handleRequestStateChange;
	xmlHttp.send(null);

  }
  //display the error in case of failure
  catch (e)
  {
    alert("Error-2 Can't connect to serer:\n"+e.toString());
  }
 }
}


//處理資料改變的函數

function handleRequestStateChange()
{
 //when readyState is 4, we are ready to read the server response
 if(xmlHttp.readyState == 4)
 {
  //continue only if HTTP status is "OK"
  if(xmlHttp.status == 200)
  {	  
   try
   {
   	//do something with the response from the server
	handleServerResponse();
   }
   catch (e)
   {
    //display error message
	alert("Error-3 reading the response:" + e.toString());
   }
  }
  else
  {
  //display status message
  alert("Error-4 There was a problem retrieving the data:\n" + xmlHttp.statusText);
  }
 }
}

//處理從伺服器所得到的回應資料顯示

function handleServerResponse()
{
 myDiv = document.getElementById("show");
 myDiv.innerHTML = xmlHttp.responseText; 
}

