请问一下,我的页面,异步调用,从后台数据库读出数据,在页面显示,为什么刷新后,有时候显示,有时候不显示。
js代码如下::::::
 function loadXMLDoer(url)
 {
 var xmlhttp;
 var txt,x,i;
 if (window.XMLHttpRequest)
   {// code for IE7+, Firefox, Chrome, Opera, Safari
   xmlhttp=new XMLHttpRequest();
   }
 else
   {// code for IE6, IE5
   xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
   }
 xmlhttp.onreadystatechange=function()
   {
   if (xmlhttp.readyState==4 && xmlhttp.status==200)
     {
     xmlDoc=xmlhttp.responseXML;
     txt="";
     x=xmlDoc.getElementsByTagName("name");
     y=xmlDoc.getElementsByTagName("id");
     var ts="";
     for (i=0;i<x.length;i++)
       {
       txt=txt + "<span class='lcs'><span class='lis' id='sta"+y[i].childNodes[0].nodeValue+"'>"+x[i].childNodes[0].nodeValue+"</span>===>></span>";
        ts=ts+"<input type='hidden' name='staId' id='sthi"+y[i].childNodes[0].nodeValue+"'/>";
       var b=i+1;
       if(b%4==0){
          txt=txt+"</br>"
           }
       }
     $("#hidstatus").html(ts);
     $("#myDiv").html(txt);
     $(".statu").load("fenye_CustomerStatus_getAll");
     }
   }
 xmlhttp.open("POST",url,true);
 xmlhttp.send(null);
 }
先从后台得到全部数据后,然后跳到一个jsp页面,里面是xml形式,然后js从这个jsp页面得到数据。后台肯定没问题,前台也没有异常,为什么有时候,出现,有时候消失呢??????

解决方案 »

  1.   

    可能是缓存的问题,你的url可以用一个唯一的来标示。
      

  2.   

    你试下请求的url加上一个序列号,例如加上时间,new Date()
      

  3.   

    解决了,调用顺序问题。当页面加载完成后,后台的数据还没有传过来。造成这个结果,解决方法是,把这段代码放到另一个js文件中,不要和jsp页面在一起。在$(function(){});中去调用,就好了