ajax讀取xml的資料的HelloWorld程式

來源:互聯網
上載者:User

學習ajax的第一個小例子

我們經常會使用JavaScript實現動態改變div裡面的內容,尤其是使用ajax的時候,尤為重要。

俗話說的好,說起來容易做起來難,放在編程上說是看起來容易編起來難,雖說ajax裡面沒有什麼新的技術,只是思想的轉變和舊技術的整合,但是動起手來還是問題多多,首先就是我經常使用的是Firefox瀏覽器,馬上就碰到了innerText在Firefox裡面不被相容的問題,剛開始找不到原因,後來突然反應過來可能是相容的問題,百度一下,果不其然,在ff裡面要使用textContent方法,且一定要遵從w3c標準使用getElementById擷取div,不能圖省事直接寫id,在IE裡面行的通,在Firefox和其他瀏覽器就不知道了,還是按標準來吧,這樣也有可讀性嘛^_^

代碼:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><br /><html><br /><head><br /><title>Ajax的第一個經典例子Hello World</title><br /><mce:script type="text/javascript"><!--<br />var xmlHttp;<br />function createXMLHttpRequest(){<br />if(window.ActiveXObject){<br />xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");<br />}<br />else if(window.XMLHttpRequest){<br />xmlHttp = new XMLHttpRequest();<br />}<br />}<br />function startRequest(){<br />createXMLHttpRequest();<br />try{<br />xmlHttp.onreadystatechange = handleStateChange;<br />xmlHttp.open("GET", "data.xml", true);<br />xmlHttp.send(null);<br />}catch(exception){<br />alert("您要訪問的資源不存在!");<br />}<br />}<br />function handleStateChange(){<br />if(xmlHttp.readyState == 4){<br />if (xmlHttp.status == 200 || xmlHttp.status == 0){<br />// 取得XML的DOM對象<br />var xmlDOM = xmlHttp.responseXML;<br />// 取得XML文檔的根<br />var root = xmlDOM.documentElement;<br />try<br />{<br />// 取得<info>結果<br />var info = root.getElementsByTagName('info');<br />// 取字串<br />var str_data = info[0].firstChild.data;<br />//改變div的內容,調用changeText函數,注意IE和FF是不一樣的<br />changeText(info[0].firstChild.data,'showText');<br />//innerHTML是一樣的<br />document.getElementById("showTextHTML").innerHTML = '<b>' + info[0].firstChild.data + '</b>';<br />}catch(exception)<br />{<br />}<br />}<br />}<br />}<br />function changeText(str,element){ //相容IE和FF的<br />if(navigator.appName.indexOf("Explorer") > -1){<br />document.getElementById(element).innerText = str;<br />} else{<br />document.getElementById(element).textContent = str;<br />}<br />}<br />// --></mce:script><br /></head><br /><body><br /><div><br /><input type="button" value="return ajax responseXML's value"<br />onclick="startRequest();" /><br /></div><br /><div id="showText"></div><br /><div id="showTextHTML"></div><br /></body><br /></html> 



相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.