通过ajax来读取xml里面的数据,以及查询好数据如何写入xml里去 来供ajax读取

先用ajax发送异步请求到一个servlet或action
然后用action调用查询数据方法返回数据之后对数据进行迭代写入xml然后返回一个null就行了.

action代码
  //设置xml头
  response.setContentType ("text/xml; charset=UTF-8");
//设置不缓存  response.setHeader("cache-control","no-cache");
 
  try
  {
   out=response.getWriter();
  }
  catch (IOException e)
  {
   e.printStackTrace();
  }
 
  Iterator ite=(Iterator)user.selectList(count);
  Sysuser sysUser=null;
 
  //写入xml
  out.println("<root>");

  
  while(ite.hasNext())
  {
   sysUser=(Sysuser)ite.next();
  
   out.println("<sysUser>");
    out.println("<username>");
     out.println(sysUser.getUsername());
    out.println("</username>");
   
    out.println("<role>");
     out.println(sysUser.getSysrole().getRoleName());
    out.println("</role>");
   
    out.println("<popedom>");
     out.println(sysUser.getSysrole().getPopedom());
    out.println("</popedom>");
   
   out.println("</sysUser>");
  }
  out.println("</root>");
  out.close();

  return null;

javascript代码
   //初始化xmlHttpRequest
   function init()
   {            
                try
                {
                    xmlHttpRequest= new XMLHttpRequest();
                }
                catch(e1)
                {
                    try
                    {
                         xmlHttpRequest=new ActiveXObject("Msxml2.XMLHTTP");
                    }
                    catch(e)
                    {
                         xmlHttpRequest=new ActiveXObject("Microsoft.XMLHTTP");
                    }
                }
   }


  
   //发送异步请求
   function sendRequest()
   {
    
    init();
    var url="/ManpowerResource/sysUserAjaxListAction.do?count="+count;
   
    xmlHttpRequest.open('Get',url,true);
                //设置回调函数  
xmlHttpRequest.onreadystatechange=processRequest;
    xmlHttpRequest.send(null);
   }
   //回调函数
   function processRequest()
   {
//判断返回状态    if(xmlHttpRequest.readyState==4)
    {
     if(xmlHttpRequest.status==200)
     {
      //获得返回的xml数据信息
      var xmlDom=xmlHttpRequest.responseXML;
      //前面定义的xml标签为:sysUser所以这里就获得sysUser这个节点
      var sysUserDom=xmlDom.getElementsByTagName("sysUser");
//解析xml代码...........    
      for(var i=0;i<sysUserDom.length;i++)
      {
.......
}
}
}
}

你可能感兴趣的:(Ajax,xml,function,iterator,XMLhttpREquest,action)