做了一个简单的ajax触发,前台点击<a>(空连接)标签触发js时间,调用后台php功能页面,输出内容是整段的<table>代码,到前台的一个<div>中,但是实际做的时候,输出的内容总是一闪而过(看到了输出的东西,但是内容出现就立即消失了),在js中做了个断点,可以看到已经输出了相应的内容,但是前台<div>中总是无法保留,郁闷死了。
求高人指教!!!JS代码:
var xmlhttp;
function xmlhttprequest(){
  if(window.ActiveXObject)
  {
         xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");   
  }
  else if(window.XMLHttpRequest)
  {
 xmlhttp = new XMLHttpRequest();  
  }
  if(!xmlhttp)
  {window.alert("信息传输失败"); return false;}
  else
  {return true;}
}
function sendshare(temp){
    if(xmlhttprequest())

  xmlhttp.onreadystatechange=status_check;  
  xmlhttp.open("POST","browse.php",false);
  xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
  xmlhttp.send("share="+temp);
}
}
function status_check(){
   if(4==xmlhttp.readyState)
   { 
   if(200==xmlhttp.status || 0==xmlhttp.status)
   { 
 var content=xmlhttp.responseText;
 window.alert(content);
 document.getElementById("_middle").innerHTML=content;
   }
   }
}
HTML代码片段是:
 <div id="left">
      <ul>
           <li><a href="" onclick="sendshare(1)">我的文件</a></li>
后台的php页面代码太多,但是只有一个功能,就是输出相关的内容,
我的后台页面输出的是一段整段的<table>代码,用于嵌入到前端的<div>中。

解决方案 »

  1.   

    检查一下js 后面载入的代码有没有对_middle 有操作的.有可能后面还有操作这个div 的代码然后又将内容给覆盖进了。我都几乎忘记原生的ajax如何操作了。不如换用jquery的ajax吧简单快捷.
      

  2.   

    1  xmlhttp 改成xmlHttp2  xmlHttp.open("POST","browse.php",true);3  xmlHttp.send(null);4  document.getElementById("_middle").innerHTML=xmlHttp.responseText+document.getElementById("_middle").innerHTML;
      

  3.   

    补充下问题,
    用firefox实验,发现东西在输出的时候,好像页面还是处于请求状态,
    也就是说,内容输出的时候,浏览器地址栏显示的是正在请求的黯红色叉,
    等到内容输出之后,暗红色叉消失,随之的内容也消失了,就像页面刷新了一样。
    不知道为什么,
    我仔细看了下,输出的内容就是一个完整的<table>........</table>
    之外没什么东西,
    求解??:
      

  4.   

    自己要学会调试代码,
    先把前台与后台的最简化,只留下ajax部分,browse.php只用一句 echo 'ok'; 看看能否正常输出,
    然后逐渐加代码加功能。方法就是这样,需要耐心调试。
      

  5.   


    简单 用jquery.ajax 返回内容直接修改id 内容.
      

  6.   

    怀疑你的网页又被刷新了,看下网页的源码是否div中得内容为空。
    如果为空,肯定是现在的网页没有加载内容。
      

  7.   

    <div>中确实是空的,
    今用Ie是代码的时候,提示我返回的<table>...</table>代码有问题,
    代码错误会不会i导致页面的错误呢?
    但是,后来改过来了,还是老样子,
    但是不知道改完了没。
    纠结,唉。
      

  8.   

    你还真执着 给你个完整的例子吧 赶快结贴吧3test.html
    ===============================================================
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <script type="text/javascript">
    var xmlHttp;
    function createXMLHttpRequest() 
    {
    if (window.ActiveXObject) 
      {
            xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
    //new一个ActiveXObject类.
          } 
      else if (window.XMLHttpRequest) 
            {
                   xmlHttp = new XMLHttpRequest();
                }
    }
    function startRequest() 
    {
       createXMLHttpRequest();
      
       try {
             var url = "save.php";
     //声明提交对象
              var f = document.user_info; 
             var usertext = f.com.value; 
             var postStr = "user="+usertext;
              xmlHttp.onreadystatechange = handleStateChange;
      xmlHttp.open("POST", url, true);
      xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
              xmlHttp.send(postStr);

       catch (exception) 
       {
             alert("您要访问的资源不存在!");
           }
    }function handleStateChange() 
    {
        if (xmlHttp.readyState == 4) 
           {
             if (xmlHttp.status == 200 || xmlHttp.status == 0)
    {
               
                      document.getElementById("msg").innerHTML = xmlHttp.responseText;

    }
      
      
    }
      
    }
    </script>
    </head>
    <body>
    <form name="user_info" method="post" action="">
      <textarea cols="50" rows="8" name="com" style=" border:#CCCCCC 1px solid;"></textarea>
      <p>
        <input type="button" value="提交表单" onclick="startRequest()">
    </form>
    <div id="msg"></div>
    </body>
    </html>============================================================================
    save.php
    <?php
    $text=$_POST['user'];
    echo $text;
    ?>============================================================================