下面是一個讀取伺服器資料的ajax樣本,將下面的代碼存到一html檔案中,同一目錄建立一message.txt檔案,內容不為空白,以看出效果,看到以下對話方塊,則測試成功。
message.txt內容:
If you can read this, you have successfully requested a text file from the server.
html源檔案:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"<br /> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"></p><p><html xmlns="http://www.w3.org/1999/xhtml"></p><p><head><br /> <title>read the data (XHR)</title><br /> <meta http-equiv="content-type" content="text/html; charset=utf-8" /><br /> <mce:script language="JavaScript" type="text/javascript"><!--<br /> /*<!--[CDATA[*/<br />function test_fn(file_uri)<br />{<br />var xhr=false;<br /> if(window.XMLHttpRequest)<br /> {<br /> xhr = new XMLHttpRequest();<br /> }else if(window.ActiveXObject)<br /> {<br /> try {<br /> xhr = new ActiveXObject("Msxml2.XMLHTTP");<br /> }catch(e)<br /> {<br /> try {<br /> xhr = new ActiveXObject("Microsoft.XMLHTTP");<br /> } catch(e)<br /> {<br /> }<br /> }<br /> }</p><p>var rt=xhr;<br />if(rt){<br />rt.onreadystatechange=function(){<br />if(rt.readyState==4){<br /> if(rt.status==200 ||rt.status==304){<br />alert(rt.responseText);<br /> }<br />}<br />}<br />rt.open("POST",file_uri,"true");<br />rt.setRequestHeader("content-type","application/x-www-form-urlencoded");<br />rt.send(null);<br />}<br />}<br /> /*]]-->*/</p><p>// --></mce:script><br /></head></p><p><body><br /> <p><br /> <a href="message.txt" mce_href="message.txt" onclick="test_fn(this.href); return false;"><br />Click here to see the contents of a text file<br /> </a><br /> </p><br /></body><br /></html>
當然寫成模組式的方式更好,
function getHttpObject()<br />{<br />var xhr=false;<br /> if(window.XMLHttpRequest)<br /> {<br /> xhr = new XMLHttpRequest();<br /> }else if(window.ActiveXObject)<br /> {<br /> try {<br /> xhr = new ActiveXObject("Msxml2.XMLHTTP");<br /> }catch(e)<br /> {<br /> try {<br /> xhr = new ActiveXObject("Microsoft.XMLHTTP");<br /> } catch(e)<br /> {<br /> }<br /> }<br /> }<br /> return xhr;<br />}<br />function dispResp(rt)<br />{<br />alert(rt.responseText);<br />}<br />function getTheData(file_uri)<br />{<br />var rt=getHttpObject();<br />if(rt){<br />rt.onreadystatechange=function(){<br />if(rt.readyState==4){<br /> if(rt.status==200 ||rt.status==304){<br />dispResp(rt);<br /> }<br />}<br />}<br />rt.open("POST",file_uri,"true");<br />rt.setRequestHeader("content-type","application/x-www-form-urlencoded");<br />rt.send(null);<br />}<br />}