ajax 入门实例

来源:互联网 发布:白苹果恢复数据 编辑:程序博客网 时间:2024/05/19 03:43

AJAX(Asynchronous JavaScript And XML)是一种运用JavaScript和可扩展标记语言(XML),在网络浏览器和服务器之间传送或接受数据的技术。主要应用于Ria(Rich internet applications)的开发上。   xml问题终于在今天还是解决了。最后在FireFox里还是使用了Dom的一些老方法。我这里就具体解释一下方法吧. 

代码:

var XmlHttp; //用来定义一个xmlHttpRequest对象

var temp_url_arr=new Array()

var temp_title_arr=new Array()

var list_arr=new Array()if (window.XMLHttpRequest) {

 XmlHttp = new XMLHttpRequest() 

if (XmlHttp.overrideMimeType) { 

 XmlHttp.overrideMimeType('text/xml'); 

}} else if (window.ActiveXObject) { 

XmlHttp = new ActiveXObject("Microsoft.XMLHTTP");}

// 上面这段话是判断当前浏览器版本,以定义给XmlHttp不同的xmlHttpRequest对象.

如果服务器的响应没有XML mime-type header,某些Mozilla浏览器可能无法正常工作。

所以需要XmlHttp.overrideMimeType('text/xml');来修改

该header.function getData() { //读取数据 

XmlHttp.onreadystatechange = praseXml; 

XmlHttp.open("GET", "xmldata2.xml", true); 

XmlHttp.send(null);}function praseXml() {

//解析数据 

if (XmlHttp.readyState == 4) { 

 if (XmlHttp.status == 200) {  

 var xmldoc = XmlHttp.responseXML;  

 var root=xmldoc.getElementsByTagName('data').item(0) 

  //使用这样的方法才可在FireFox里面生效.至少xPath我没成功过. 

  for (var iRoot = 0; iRoot < root.childNodes.length; iRoot++) {  

  //alert(root.childNodes.item(iRoot))   

 var pic_node=root.childNodes.item(iRoot)  

  for (iPic = 0; iPic < pic_node.childNodes.length; iPic++) { 

    var url_node=pic_node.childNodes.item(iPic)   

  for (iURL = 0; iURL < url_node.childNodes.length; iURL++) {  

    var obj=new Object()     

 obj.type=url_node.nodeName   

   obj.content=url_node.childNodes.item(iURL).nodeValue   

   if(url_node.nodeName == "url"){     

  temp_url_arr.push(obj)    

  }else if(url_node.nodeName == "title"){

       temp_title_arr.push(obj)   

   }    

 }   

 }   

}   install_list() 

 } }}

function install_list(){

//整理得到的数据并装载到list_arr数组中。

 list_arr=new Array() 

var target_div=document.getElementById('catelog'); 

target_div.innerHTML="" for(var i=0;i<temp_url_arr.length;i++){ 

 var obj=new Object()  

obj.url=temp_url_arr[i].content 

 obj.title=temp_title_arr[i].content 

 list_arr.push(obj) 

} 

for(var i=0;i<list_arr.length;i++){ 

 target_div.innerHTML +="<a href='#'  onClick='img_loader(/""+list_arr[i].url+"/");'>"+list_arr[i].title+"</a><br>"; 

}}

function img_loader(param1){ //加载图片方法 

var target_div=document.getElementById('pic'); 

target_div.innerHTML="<img src="+param1+">"

原创粉丝点击