html被后面的改写了
可以用3个msg来显示,也可以用 id.innerHTML += "sss" 就不会被覆盖了

解决方案 »

  1.   

    不是,我的代码发错了,应该是这样for(var i=0;i<=3;i++){
    url='hello.php';
    createXMLHttpRequest();//调用创建XmlHttp的函数
    xmlHttp.open("POST",url,true);//建立服务器连接,异步传输true
    xmlHttp.onreadystatechange=function(){//指定回调函数
    if(xmlHttp.readystate==4){
             if(xmlHttp.status==200){
          document.getElementById('msg'+i).innerHTML=xmlHttp.responseText;
             }
    }
    }
    xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
    xmlHttp.send(null);
    }每次服务器返回一个值都放到不同的地方,现在是只把最后一次相应放到了相应的位置
      

  2.   

    ajax请求放到循环里这种设计很不好
    如果可以一次性返回最好
      

  3.   

    应考虑的缓存问题
    方法:
    xmlHttp.open("GET", "default.aspx", true);
    xmlHttp.setRequestHeader("If-Modified-Since","0");
    xmlHttp.send(null);
      

  4.   

    估计是临时变量i的问题, 在执行时i的值都是3document.getElementById('msg'+i).innerHTML += xmlHttp.responseText; 改这句试下看
      

  5.   

    我现在要做的是每次都保存一条数据库记录,保存一条返回个true 或者false,不知道能不能实现还有就是ajax的一次请求到哪一步才算是真正的结束呢?是在回调处理函数执行完成之后结束还是,其他地方结束?