AJAX(Asynchronous JavaScript And XML)是一种运用JavaScript和可扩展标记语言(XML),在网络浏览器和服务器之间传送或接受数据的技术。主要应用于Ria(Rich internet applications)的开发上。 2v9源码网
xml问题终于在今天还是解决了。最后在FireFox里还是使用了Dom的一些老方法。我这里就具体解释一下方法吧.2v9源码网
代码:2v9源码网
var XmlHttp; //用来定义一个xmlHttpRequest对象2v9源码网
var temp_url_arr=new Array()2v9源码网
var temp_title_arr=new Array()2v9源码网
var list_arr=new Array()2v9源码网
if (window.XMLHttpRequest) {2v9源码网
XmlHttp = new XMLHttpRequest()2v9源码网
if (XmlHttp.overrideMimeType) {2v9源码网
XmlHttp.overrideMimeType(’text/xml’);2v9源码网
}2v9源码网
} else if (window.ActiveXObject) {2v9源码网
XmlHttp = new ActiveXObject(”Microsoft.XMLHTTP”);2v9源码网
}2v9源码网
// 上面这段话是判断当前浏览器版本,以定义给XmlHttp不同的xmlHttpRequest对象.如果服务器的响应没有XML mime-type header,某些Mozilla浏览器可能无法正常工作。 所以需要XmlHttp.overrideMimeType(’text/xml’);来修改该header.2v9源码网
function getData() { //读取数据2v9源码网
XmlHttp.onreadystatechange = praseXml;2v9源码网
XmlHttp.open(”GET”, “xmldata2.xml”, true);2v9源码网
XmlHttp.send(null);2v9源码网
}2v9源码网
function praseXml() { //解析数据2v9源码网
if (XmlHttp.readyState == 4) {2v9源码网
if (XmlHttp.status == 200) {2v9源码网
var xmldoc = XmlHttp.responseXML;2v9源码网
var root=xmldoc.getElementsByTagName(’data’).item(0)2v9源码网
//使用这样的方法才可在FireFox里面生效.至少xPath我没成功过.2v9源码网
for (var iRoot = 0; iRoot < root.childNodes.length; iRoot ) {2v9源码网
//alert(root.childNodes.item(iRoot))2v9源码网
var pic_node=root.childNodes.item(iRoot)2v9源码网
for (iPic = 0; iPic < pic_node.childNodes.length; iPic ) {2v9源码网
var url_node=pic_node.childNodes.item(iPic)2v9源码网
for (iURL = 0; iURL < url_node.childNodes.length; iURL ) {2v9源码网
var obj=new Object()2v9源码网
obj.type=url_node.nodeName2v9源码网
obj.content=url_node.childNodes.item(iURL).nodeValue2v9源码网
if(url_node.nodeName == “url”){2v9源码网
temp_url_arr.push(obj)2v9源码网
}else if(url_node.nodeName == “title”){2v9源码网
temp_title_arr.push(obj)2v9源码网
}2v9源码网
}2v9源码网
}2v9源码网
}2v9源码网
install_list()2v9源码网
}2v9源码网
}2v9源码网
}2v9源码网
function install_list(){ //整理得到的数据并装载到list_arr数组中。2v9源码网
list_arr=new Array()2v9源码网
var target_div=document.getElementById(’catelog’);2v9源码网
target_div.innerHTML=”"2v9源码网
for(var i=0;i<temp_url_arr.length;i ){2v9源码网
var obj=new Object()2v9源码网
obj.url=temp_url_arr[i].content2v9源码网
obj.title=temp_title_arr[i].content2v9源码网
list_arr.push(obj)2v9源码网
}2v9源码网
for(var i=0;i<list_arr.length;i ){2v9源码网
target_div.innerHTML =”<a href=’#’ onClick=’img_loader(”" list_arr[i].url “”);’>” list_arr[i].title “</a><br>”;2v9源码网
}2v9源码网
}2v9源码网
function img_loader(param1){ //加载图片方法2v9源码网
var target_div=document.getElementById(’pic’);2v9源码网
target_div.innerHTML=”<img src=” param1 “>”2v9源码网
}