日期:2014-05-16  浏览次数:20806 次

Ajxa callback 实时显示
小弟最近刚接触Ajax 但项目又催的比较紧
想请教各位大侠几个问题
1.在jsp页面中嵌入的
<script type="text/javascript">
function doclick() {
var url = "validate2.do?id="+test+"&id2="+test2;
        if(window.XMLHttpRequest) {
      
       req = new XMLHttpRequest();
   }else if(window.ActiveXObject) {
      
       req = new ActiveXObject("Microsoft.XMLHTTP");
   }
   req.open("GET", url, true); 
   req.onreadystatechange = callback;
   req.send(null);
}
function callback() {
   
   if(req.readyState == 4 && req.status == 200) {
       var check = req.responseText; //查看接收到的后台传过来的html命令 
       
       if(check !=""){
        alert("前台接收到的"+check);
        show (check);
       };
   };
}

function show(str) {

   var show = str;
   document.getElementById("status1").innerHTML = show;
   
   if(str == "Disconnect") {
   var show = "<img src=\"images/failed.gif\" height=\"16\" width=\"16\">&nbsp<font color='red'> Sorry, Disconnect! Please reconnect.</font>";
   document.getElementById("status1").innerHTML = show;
   
   }else if( str == "TIMEOUT") {
   var show = "<img src=\"images/failed.gif\" height=\"16\" width=\"16\">&nbsp<font color='red'> Sorry, Connection time out!</font>";
       document.getElementById("info").innerHTML = show;
   }else if (str != null){
     doclick(); //收到数据后继续执行doclick事件继续监听后台
   };
}

这段代码中的callback 我现在想用callback 接收后台servlet的数据,后台servlet的主要代码是
out.write("Disconnect");
out.close(); //告诉JSP端结果

这个发送到前台jsp页面 ,目前这个功能能实现 前台可以接受到
但是!! 但是!! 但是!!
各位大侠,我还想做另外一个js

function doclick2() {

    var td = event.srcElement; // 通过event.srcElement 获取激活事件的对象 td
    var url = "validate2.do?id3="+td.id+"&id4="+td.name;
    alert(td.id+td.name);
   //创建一个XMLHttpRequest对象req 
   if(window.XMLHttpRequest) {
       //IE7, Firefox, Opera支持  
       req = new XMLHttpRequest();
   }else if(window.ActiveXObject) {
       //IE5,IE6支持 
       req = new ActiveXObject("Microsoft.XMLHTTP");
   }
     req.op