日期:2014-05-16  浏览次数:20634 次

ajax中responseXML对xml文档的处理问题
HTML code
<script language="javascript" src="MyScripts/ajax.js"></script>
<script type="text/javascript">
   window.onload = function () {
            ajax({
                url: "rss.xml",      
           onSuccess: function( rss ){
                 
                var feed = document.getElementById( "feed" );
       
       var titles=rss.getElementsByTagName( "title" );
      
       for(var i=0; i < titles.length; i++ ){
         var li=document.createElement( "li" );
         li.innerHTML=titles[i].firstChild.nodeValue;
         
         feed.appendChild(li);
       }
     }
   
   });
   };
</script>
</head>

<body>
<h1> Dynamic RSS Feed widget</h1>
<p>check out my RSS Feed:</p>
  <ol id="feed"> </ol>

</body>
</html>



上面的是把rss.xml中的title元素的孩子节点显示在id="feed"处, ajax执行成功,
responseXML返回是rss.xml文档,赋给function( rss )中的参数。xml文档没问题,
为什么这儿提示"...getElementsByTagName"对象不存在这样的方法或属性?ajax返回的
xml文档不能用getElementsByTagName解析吗??





------解决方案--------------------
rss这个是document对象吗?你可能是字符串吧。
------解决方案--------------------
onSuccess的参数你是传递了ajax对象的responseText还是responseXML?responseText是字符串,当然没有getElementsByTaName,需要传递responseXML