首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

Ajax显示数据到页面上有有关问题,麻烦大家帮忙看看

2012-01-03 
Ajax显示数据到页面上有问题,麻烦大家帮忙看看? 一点开始按钮,过了会页面就死了,并且也也没有弹出对话框“4

Ajax显示数据到页面上有问题,麻烦大家帮忙看看?

一点开始按钮,过了会页面就死了,并且也也没有弹出对话框   “4”,以下是我的代码,麻烦高手给看看
JSP:
       
<script   type= "text/javascript ">
      var   XMLHttpReq;   //创建XMLHttpRequest对象              

            function   createXMLHttpRequest()   {
                              if   (window.ActiveXObject)   {
                                XMLHttpReq   =   new   ActiveXObject( "Microsoft.XMLHTTP ");
                        }  
                        else   if   (window.XMLHttpRequest)   {
                                XMLHttpReq   =   new   XMLHttpRequest();                                
                        }
                                }

              //发送请求函数

              function   sendRequest()   {
                            createXMLHttpRequest();
                            var   url   =   "track.do?method=init ";      
                            XMLHttpReq.open( "GET ",   url,   true);
                            XMLHttpReq.onreadystatechange   =   processResponse;//指定响应函数
                            XMLHttpReq.send(null);     //   发送请求
                        }

              //   处理返回信息函数

              function   processResponse()   {
                        if   (XMLHttpReq.readyState   ==   4)   {   //   判断对象状态
                                  alert( "4 ");
                                  if   (XMLHttpReq.status   ==   200)   {   //   信息已经成功返回,开始处理信息
                                                alert( "200 ");
                                                showPage();


                                                setTimeout( "sendRequest() ",4000);
                                          }
                                    }
                    }
                  function   showPage(){
                              var   xmlDoc   =   XMLHttpReq.responseXML;
                      var   tracks   =   xmlDoc.getElementsByTagName( "track ");
                      var   result= " <table   border=1> <tr> <td> 卡   号 </td> <td> 天   线 </td> </tr> ";
                      for(var   i=0;i <tracks.length;i++){
                              result   += " <tr> ";
                              var   track=tracks[i];
                              result     += " <td> "+track.getElementsByTagName( "cardid ")[0].firstChild.nodeValue+ " </td> "
                              result     += " <td> "+track.getElementsByTagName( "antenna ")[0].firstChild.nodeValue+ " </td> "
                              result   += " </tr> ";
                      }
                          result   += " </table> ";
                          document.getElementById( "data ").innerHTML=result;
                  }
       
                                   
  </script>

    </head>
   
    <body       bgColor= "white "   background= "Image/right.gif ">
                <input   type= "button "   value= "开始接收 "   onclick= "sendRequest() ">  
              <div   id= "data "> </div>
</body>  


=================================================================================
Action:
result_list.add(show);  
   
}            


}  

//     request.setAttribute( "trackShow ",   result_list);
//   return   mapping.findForward( "trackShow ");      
}      
}  
response.setContentType( "text/xml ");
PrintWriter   out=response.getWriter();
out.println(parseToXML(result_list));  
}catch(Exception   e){
e.printStackTrace();
}
return   null;
  }

 

public   String   parseToXML(List   list){
StringBuffer   sb=new   StringBuffer();
sb.append( " <?xml   version=\ "1.0\ "   encoding=\ "utf-8\ "?> ");
sb.append( " <tracks> ");
for(int   i=0;i <list.size();i++){
TrackShow   show=(TrackShow)list.get(i);
        sb.append( " <track> ");
        sb.append( " <cardid> "+show.getCardid()+ " </cardid> ");
        sb.append( " <antenna> "+show.getAntenna()+ " </antenna> ");
        sb.append( " </track> ");
}
sb.append( " </tracks> ");
return   sb.toString();
}
}


[解决办法]
将你的程序中
response.setContentType( "text/xml ");
PrintWriter out=response.getWriter();
out.println(parseToXML(result_list));
换成
response.setContentType( "text/xml;charset=UTF-8 ");
response.getWriter().write(parseToXML(result_list));
response.getWriter().flush();
response.getWriter().close();
试试

热点排行