问题 
在tomcat下一切正常,在webLogic下用IE就会报错:var iLength = xmlobj.responseXML.lastChild.childNodes.length ; 这一行缺少对象。但是用firefox却很正常 function changeHomePageBackImg() { var ajaxobj = new AJAXRequest(); 
var sTime = new Date().getTime().toString(); 
var routerUrl="/Library/config.xml?time=" + sTime; 
ajaxobj.method="Get"; ajaxobj.url = routerUrl; 
ajaxobj.send(); 
ajaxobj.callback=function(xmlobj){ var o = getElement(document,"features_panel"); 
if(xmlobj.readyState==4) { 
if(xmlobj.status == 200) 
{ var iLength = xmlobj.responseXML.lastChild.childNodes.length ; 


} } 

解决方案 »

  1.   

    用try {
    var iLength = xmlobj.responseXML.lastChild.childNodes.length ; }
    catch(e)
    {
      alert(e);
    }
    包起来试试看
      

  2.   

    建议用如下方式创建XMLHttpRequest:var xmlHttp;
    function createXMLHttpRequest() {
    if (window.ActiveXObject) {
    xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
    } else if (window.XMLHttpRequest) {
    xmlHttp = new XMLHttpRequest();
    }
    }还有,发送Ajax请求与接收返回的应该是同一个XMLHttpRequest对象。
    楼主用ajaxobj发送,用xmlobj接收可能错就在这里!
      

  3.   

    然后发送请求和处理返回用这种形式:function validate() {
    createXMLHttpRequest();
    var date = document.getElementById("date").value;
    var url = "AjaxValidate?date=" + date;
    xmlHttp.open("get", url, true);
    xmlHttp.onreadystatechange = callBack;
    xmlHttp.send(null);

    }
    function callBack() {
    if (xmlHttp.readyState == 4) {
    if (xmlHttp.status == 200) {
    var result = xmlHttp.responseXML;
    var message = result.getElementsByTagName("message")[0].firstChild.nodeValue;
    var validate = result.getElementsByTagName("passed")[0].firstChild.nodeValue;
    setMessage(message, validate);
    }
    }
    }
      

  4.   

    楼主创建xmlHttp对象有方法应该没问题,主要是lastChild这个对象取不到,当然到其长度会报错建议对服务器返回的responseXML进行检查
      

  5.   

    楼主创建xmlHttp对象的方法应该没问题,主要是lastChild这个对象取不到,当然取其长度会报错 建议对服务器返回的responseXML进行检查,最好直接检查服务器代码中返回对象的内容
      

  6.   

    先确认是发出请求的问题还是处理结果的处理问题吧,不是所有浏览器都支持.lastChild这样的处理的
      

  7.   

    问题已经解决.
    在web.xml中添加了:
    <mime-mapping> 
      <extension>xml</extension> 
      <mime-type>text/xml</mime-type> 
    </mime-mapping>
     
      

  8.   

    你缺少对象,请下载对象,在注册表中注册一下。这个对象WINDOWS都带有
      

  9.   

    var xmlHttp =  new ActiveXObject("Microsoft.XMLHTTP");
    var doc='<?xml version="1.0" encoding="utf-8"?>';
    xmlHttp.open("POST","http://<%=request.getServerName()%>:<%=request.getServerPort()%>/do/........",true);
    xmlHttp.setRequestHeader("charset","GBK");
    xmlHttp.onreadystatechange = function () {
    if(xmlHttp.readyState == 4){
    var parentCode=xmlHttp.responseText;
    ...............
    }
    }
    xmlHttp.send()