function checkObject()
    {
      var plans_class=document.getElementById("plans_class").value;
      alert(plans_class+"xxxx");
      xhr.open("POST","ajax?type=checkObject&plans_class="+plans_class);
      xhr.send(null);
      xhr.onreadystatechange=doChangeOnObject;
    }
function doChangeOnObject()
    {
      var objects=xhr.responseXML.getElementsByTagName("objects");
      alert(objects.length);
      var option=null;
      var object=window.document.getElementById("plans_object");
      object.innerHTML="";
      for (i = 0; i < objects.length; i++)
      {
        option=document.createElement("option");
        option.value=objects[i].text;
        option.innerHTML=objects[i].text;
        object.appendChild(option);
      }
    }
ajax这个servlet中
          out.print("<objects>1</objects>");
         out.print("<objects>2</objects>");
         out.print("<objects>3</objects>");
         out.print("<objects>4</objects>");
         out.print("<objects>asd</objects>");
可是取不到objects这个变量的值,取得的objects.length的值是0,怎么回事?

解决方案 »

  1.   

    我没看出来问题,是不是你的XML没加载成功,以下是我的代码,
    <script language="javascript">
    var url="/servlets/ReceiptServlet?userName="+top.getUserName();//URL
    function LoadXML(){
      if(window.XMLHttpRequest){
       xml=new XMLHttpRequest();
      }else if(window.ActiveXObject("Microsoft.XMLHTTP")){
       xml=new ActiveXObject("Microsoft.XMLHTTP");
      }
      xml.onreadystatechange=complete
      xml.open("GET",url,true);
      xml.send(null);
    }
    function complete(){
      if(xml.readyState<4){
       alert('加载中...');
      }else if(xml.readyState==4&&xml.status==200){
      
       var ResultStr=xml.responseText;
    alert(ResultStr);
      }
    }
    </script>
      

  2.   

    代码完整了吗 xhr初始化的地方呢
      

  3.   

    xhr这东东写明白点,最好把servlet也贴出来
      

  4.   

    你将"var objects=xhr.responseXML.getElementsByTagName("objects"); ",换成var container = document.createElement('div');
    container.id="show";
    container.innerHTML = xhr.responseText;
    var tags = container.getElementsByTagName("objects"); 试试