ajax即时显示并解析XML

末鹿安然 提交于 2019-12-26 13:19:48

 

web.xml

<servlet>

<servlet-name>test1</servlet-name>

<servlet-class>test1</servlet-class>

</servlet>

<servlet-mapping>

<servlet-name>test1</servlet-name>

<url-pattern>test1</url-pattern>

</servlet-mapping>

 

 

浏览器端:

test11.jsp:

<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>AJAX.html</title>
</head>
<script type="text/javascript">

/*通过异步传输XMLHTTP发送参数到ajaxServlet,返回符合条件的XML文档*/
           var req=false;
   //创建一个XMLHttpRequest对象
   function createXMLHttpRequest(){
     if(window.XMLHttpRequest){ //Mozilla
      req=new XMLHttpRequest();
      }
      else if(window.ActiveXObject){
       try{
        req=new ActiveXObject("Msxml2.XMLHTTP");
        }catch(e){
         try{
          req=new ActiveXObject("Microsoft.XMLHTTP");
          }catch(e){}
          }
         }
        }

 

/*产生响应事件*/
function getResult()
{
createXMLHttpRequest()
var name=document.getElementById("me").value;
var url=&apos;test1?action=&apos;+name;
if(req)
{
req.open("GET",url, true);
req.onreadystatechange = complete;
req.send(null);
}
}

 

 

/*分析返回的XML文档*/

function complete()
{
if (req.readyState == 4)
{
if (req.status == 200)
 {
var type = req.responseXML.getElementsByTagName("type_name");
var str=new Array();
for(var i=0;i<type.length;i++)
{
str[i]=type[i].firstChild.data;   //获得节点数据
document.all[&apos;td&apos;].innerHTML+="  "+str[i];
}

}
}
}
</script>
<body onLoad="getResult()">
<form action="test1" method="post">
<table width="80%"  border="0" cellspacing="0" cellpadding="0">
<tr>
<td id="td">&nbsp;</td>
<td><input type="text" id="me" value="sunxf" onkeyup="getResult()"/></td>
<td><input type="button" id="submit" onclick="getResult()"/>
</tr>
</table>
</form>
</body>

服务器端:

test1.java

package aa;
import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class test1
extends HttpServlet
{
private static final String CONTENT_TYPE="text/xml; charset=gb2312";
public void init()
throws ServletException
{
}

public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException,IOException
{
response.setContentType(CONTENT_TYPE);
PrintWriter out=response.getWriter();
String action=request.getParameter("action");
System.out.println(action);
if(("send").equals(action))
{                                                                        //生成xml
StringBuffer sb=new StringBuffer("<type>");
sb.append("<type_name>AA</type_name>");
sb.append("<type_name>BB</type_name>");
sb.append("<type_name>CC</type_name>");
sb.append("<type_name>DD</type_name>");
sb.append("</type>");
out.write(sb.toString());   
out.close();
}
}

}

 

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!