<script language="javascript">
  var xmlHttp = false;
 var e;
 var serverUrl;
 var blockId;
 //程序入口,url:请求的地址id,返回的地址
 function ajax(url,id)
 {
  serverUrl=url;
 blockId=id;
 callServer();
 }
 //创建XMLHTTP对象
 function getXMLHTTPObj()
 {
  var C = null;
  try
  {
   C = new ActiveXObject("Msxml2.XMLHTTP");
  }
  catch(e)
  {
   try
   {
    C = new ActiveXObject("Microsoft.XMLHTTP");
   }
   catch(sc)
   {
    C = null;
   }
  }
  
  if( !C && typeof XMLHttpRequest != "undefined" )
  {
   C = new XMLHttpRequest();
  }
  
  return C;
 }
 
 //调用远程方法
 function callServer() 
 { 
  try
  {
   if( xmlHttp && xmlHttp .readyState != 0 )
   {
    xmlHttp.abort();
   }
   
   xmlHttp = getXMLHTTPObj();
   
   if( xmlHttp )
   {
    document.getElementById("content").style.display = "none";
   
    
    //打开连接
    xmlHttp.open("get", serverUrl, true);
    //设置回调函数
    xmlHttp.onreadystatechange = updatePage;
    //发送请求
    xmlHttp.send(null);
   }
   else
   {
    document.getElementById("content").innerHTML = "XMLHTTP对象创建失败";
   }
  }
  catch (e)
  {
   document.getElementById("content").innerHTML = "查询错误:" + e;
  }
 }
 
 //回调处理函数
 function updatePage() 
 {
  try {
   if (xmlHttp.readyState == 1) 
   {
    document.getElementById("content").innerHTML = "正在加载连接对象......";
   }
   if (xmlHttp.readyState == 2) 
   {
    document.getElementById("content").innerHTML = "连接对象加载完毕。";
   }
   if (xmlHttp.readyState == 3) 
   {
    document.getElementById("content").innerHTML = "数据获取中......";
   }
   if (xmlHttp.readyState == 4) 
   {
    
    document.getElementById("content").innerHTML = xmlHttp.responseText;   }
  }
  catch (e) 
  {
      document.getElementById("content").innerHTML = "回调处理错误:" + e;
  }
 }
 </script>
以上是代码
为什么能够发送请求,通过request能够取到直,在页面上write可以。但是相应的id为content的div没产生变化,ie显示js错误。
请高手帮忙看哈

解决方案 »

  1.   

    function   updatePage()   
      { 
        try   { 
          if   (xmlHttp.readyState   ==   1)   
          { 
            document.getElementById("content").innerHTML   =   "正在加载连接对象......"; 
          } 
          if   (xmlHttp.readyState   ==   2)   
          { 
            document.getElementById("content").innerHTML   =   "连接对象加载完毕。"; 
          } 
          if   (xmlHttp.readyState   ==   3)   
          { 
            document.getElementById("content").innerHTML   =   "数据获取中......"; 
          } 
          if   (xmlHttp.readyState   ==   4)   
          { 
            var  xmldoc=obj(xmlHttp.responseText); 
            document.getElementById("content").innerHTML   = xmldoc.getElementsByTagName("你servlet传过来的xml的节点名").childNodes(0).text;      } 
        } 
        catch   (e)   
        { 
                document.getElementById("content").innerHTML   =   "回调处理错误:"   +   e; 
        } 
      } 
    function obj(s){
    alert(s);  try{ stringToXML_soap=new ActiveXObject("Microsoft.XMLDOM");
        stringToXML_soap.async = false; 
      stringToXML_soap.loadXML(arguments[0]);
        return stringToXML_soap.documentElement;
      } catch(e) {
          var soap=new DOMParser();
          var stringToXML_soap=soap.parseFromString(arguments[0],"text/xml");
            return stringToXML_soap;
      }
      
    }
      

  2.   

    没有用XML的
    jsp直接从数据库提取的字符串
    直接out.println
    是不是这里的问题?
      

  3.   

    if (xmlHttp.readyState == 4)判断里面再加一个if (xmlHttp.status == 200)试试看呢?
      

  4.   

    自己弄了回这会不报JS错误了但是
    发现DIV那里有数据
    但是闪一下又没了

    不知道是什么问题!
      

  5.   

    document.getElementById("content").style.display = "";
    document.getElementById("content").innerHTML   =   xmlHttp.responseText;
      

  6.   

    已经改过了
    就是不提示JS错误可是content这个DIV被刷新了一下,闪一下又没了
      

  7.   

    我的问题解决
    和和
    是由于
    我的提交按琉
    设置为submit
    结果他默认刷新本页面
    所以看不到了
    设置为button就好了