Ajax学习笔记(2)----Ajax访问XML实例代码(全)

  1. <!DOCTYPE html PUBLIC  "-//W3C//DTD XHTML 1.0 Transitional//EN"   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
  2. <html xmlns= "http://www.w3.org/1999/xhtml" >
  3. <head>
  4. <meta http-equiv= "Content-Type"  content= "text/html; charset=gb2312"  />
  5. <title>DOMTest2</title>
  6. <script language= "javascript" >
  7. var  request =  false ;
  8.     try  {
  9.      request =  new  XMLHttpRequest();
  10.    }  catch  (trymicrosoft) {
  11.       try  {
  12.        request =  new  ActiveXObject( "Msxml2.XMLHTTP" );
  13.      }  catch  (othermicrosoft) {
  14.         try  {
  15.          request =  new  ActiveXObject( "Microsoft.XMLHTTP" );
  16.        }  catch  (failed) {
  17.          request =  false ;
  18.        }  
  19.      }
  20.    }
  21.     if  (!request)
  22.      alert( "Error initializing XMLHttpRequest!" );
  23. function  callServer() {
  24.    var  url =  "/Ajax/scripts/saveAddress.xml" ;
  25.   request.open( "POST" , url,  true );
  26.   request.setRequestHeader( "Content-Type" "text/xml" );
  27.   request.onreadystatechange = updatePage;
  28.   request.send( null );
  29. }
  30. function  updatePage() {
  31.    if  (request.readyState == 4) {
  32.      if  (request.status == 200) {
  33.        var  xmlDoc= request.responseXML.documentElement; 
  34.        var  showElements = xmlDoc.getElementsByTagName( "show" );
  35.       
  36.        for  ( var  x=0; x<showElements.length; x++) {
  37.      
  38.    
  39.          var  title = showElements[x].childNodes[0].text;
  40.          var  rating = showElements[x].childNodes[1].text;
  41.          document.getElementById( "title" ).value=title+x;
  42.           document.getElementById( "rating" ).value=rating+x;
  43.        
  44.       }
  45.     }
  46.      else   if  (request.status == 404)
  47.         { alert( "Request URL does not exist" );}
  48.   else   if  (request.status == 403) {
  49.          alert( "Access denied." );
  50.        } 
  51.     else
  52.          alert( "Error: status code is "  + request.status);
  53.          }
  54.   
  55. }
  56. </script>
  57. </head>
  58. <body>
  59. <table><tr><td>title</td><td><input id= "title"   type= "text" /></td></tr><tr><td>rating</td><td>
  60. <input id= "rating"   type= "text" /></td></tr>
  61. <tr><td></td><td><input type= "button"   value= "Click me!"  onclick= "callServer()"  /></td></tr></table>
  62. </body>
  63. </html>

   var  title = showElements[x].childNodes[0].text;

这一句,原写做

var  title = showElements[x].childNodes[0].value;

 

经过在论坛上讨论得出了正确结果。

 

 

XML文件

saveAddress.xml:

  1. <? xml   version = "1.0"   encoding = "gb2312" ?>
  2. < ratings >
  3.   < show >
  4.    < title > Alias </ title >
  5.    < rating > 6.5 </ rating >
  6.   </ show >
  7.   < show >
  8.    < title > Lost </ title >
  9.    < rating > 14.2 </ rating >
  10.   </ show >
  11.   < show >
  12.    < title > Six Degrees </ title >
  13.    < rating > 9.1 </ rating >
  14.   </ show >
  15. </ ratings >

得在服务器是运行

你可能感兴趣的:(Ajax学习笔记(2)----Ajax访问XML实例代码(全))