用ajax xml的數(shù)據(jù)讀取的HelloWorld程序
更新時(shí)間:2009年04月14日 13:54:35 作者:
我們經(jīng)常會(huì)使用JavaScript實(shí)現(xiàn)動(dòng)態(tài)的改變div里面的內(nèi)容,尤其是使用ajax的時(shí)候,尤為重要。
俗話說的好,說起來容易做起來難,放在編程上說是看起來容易編起來難,雖說ajax里面沒有什么新的技術(shù),只是思想的轉(zhuǎn)變和舊技術(shù)的整合,但是動(dòng)起手來還是問題多多,首先就是我經(jīng)常使用的是火狐瀏覽器,馬上就碰到了innerText在火狐里面不被兼容的問題,剛開始找不到原因,后來突然反應(yīng)過來可能是兼容的問題,百度一下,果不其然,在ff里面要使用textContent方法,且一定要遵從w3c標(biāo)準(zhǔn)使用getElementById獲取div,不能圖省事直接寫id,在IE里面行的通,在火狐和其他瀏覽器就不知道了,還是按標(biāo)準(zhǔn)來吧,這樣也有可讀性嘛^_^
代碼:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<title>Ajax的第一個(gè)經(jīng)典例子Hello World</title>
<script type="text/javascript">
var xmlHttp;
function createXMLHttpRequest(){
if(window.ActiveXObject){
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
else if(window.XMLHttpRequest){
xmlHttp = new XMLHttpRequest();
}
}
function startRequest(){
createXMLHttpRequest();
try{
xmlHttp.onreadystatechange = handleStateChange;
xmlHttp.open("GET", "data.xml", true);
xmlHttp.send(null);
}catch(exception){
alert("您要訪問的資源不存在!");
}
}
function handleStateChange(){
if(xmlHttp.readyState == 4){
if (xmlHttp.status == 200 || xmlHttp.status == 0){
// 取得XML的DOM對(duì)象
var xmlDOM = xmlHttp.responseXML;
// 取得XML文檔的根
var root = xmlDOM.documentElement;
try
{
// 取得<info>結(jié)果
var info = root.getElementsByTagName('info');
// 取字符串
var str_data = info[0].firstChild.data;
//改變div的內(nèi)容,調(diào)用changeText函數(shù),注意IE和FF是不一樣的
changeText(info[0].firstChild.data,'showText');
//innerHTML是一樣的
document.getElementById("showTextHTML").innerHTML = '<strong>' + info[0].firstChild.data + '</strong>';
}catch(exception)
{
}
}
}
}
function changeText(str,element){ //兼容IE和FF的
if(navigator.appName.indexOf("Explorer") > -1){
document.getElementById(element).innerText = str;
} else{
document.getElementById(element).textContent = str;
}
}
</script>
</head>
<body>
<div>
<input type="button" value="return ajax responseXML's value"
onclick="startRequest();" />
</div>
<div id="showText"></div>
<div id="showTextHTML"></div>
</body>
</html>
代碼:
復(fù)制代碼 代碼如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<title>Ajax的第一個(gè)經(jīng)典例子Hello World</title>
<script type="text/javascript">
var xmlHttp;
function createXMLHttpRequest(){
if(window.ActiveXObject){
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
else if(window.XMLHttpRequest){
xmlHttp = new XMLHttpRequest();
}
}
function startRequest(){
createXMLHttpRequest();
try{
xmlHttp.onreadystatechange = handleStateChange;
xmlHttp.open("GET", "data.xml", true);
xmlHttp.send(null);
}catch(exception){
alert("您要訪問的資源不存在!");
}
}
function handleStateChange(){
if(xmlHttp.readyState == 4){
if (xmlHttp.status == 200 || xmlHttp.status == 0){
// 取得XML的DOM對(duì)象
var xmlDOM = xmlHttp.responseXML;
// 取得XML文檔的根
var root = xmlDOM.documentElement;
try
{
// 取得<info>結(jié)果
var info = root.getElementsByTagName('info');
// 取字符串
var str_data = info[0].firstChild.data;
//改變div的內(nèi)容,調(diào)用changeText函數(shù),注意IE和FF是不一樣的
changeText(info[0].firstChild.data,'showText');
//innerHTML是一樣的
document.getElementById("showTextHTML").innerHTML = '<strong>' + info[0].firstChild.data + '</strong>';
}catch(exception)
{
}
}
}
}
function changeText(str,element){ //兼容IE和FF的
if(navigator.appName.indexOf("Explorer") > -1){
document.getElementById(element).innerText = str;
} else{
document.getElementById(element).textContent = str;
}
}
</script>
</head>
<body>
<div>
<input type="button" value="return ajax responseXML's value"
onclick="startRequest();" />
</div>
<div id="showText"></div>
<div id="showTextHTML"></div>
</body>
</html>
相關(guān)文章
AJax 把拿到的后臺(tái)數(shù)據(jù)在頁面中渲染的實(shí)例
今天小編就為大家分享一篇AJax 把拿到的后臺(tái)數(shù)據(jù)在頁面中渲染的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-08-08ajax請(qǐng)求之返回?cái)?shù)據(jù)的順序問題分析
這篇文章主要介紹了ajax請(qǐng)求之返回?cái)?shù)據(jù)的順序問題,結(jié)合實(shí)例形式分析了ajax請(qǐng)求返回值的排序問題,需要的朋友可以參考下2015-12-12使用ajax實(shí)現(xiàn)無刷新改變頁面內(nèi)容和地址欄URL
本文主要詳細(xì)介紹了使用ajax和window.history.pushState無刷新改變頁面內(nèi)容和地址欄URL的方法,需要的朋友可以參考下2015-03-03ztree+ajax實(shí)現(xiàn)文件樹下載功能
這篇文章主要為大家詳細(xì)介紹了ztree+ajax實(shí)現(xiàn)文件樹下載功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-05-05Ajax實(shí)現(xiàn)省市區(qū)三級(jí)級(jí)聯(lián)(數(shù)據(jù)來自mysql數(shù)據(jù)庫)
這篇文章主要為大家詳細(xì)介紹了Ajax實(shí)現(xiàn)省市區(qū)三級(jí)級(jí)聯(lián),數(shù)據(jù)來自mysql數(shù)據(jù)庫,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-09-09