AJAX从servlet返回的XML解析问题 急 大哥们帮帮忙
selvet 内容
package com.cn.zzq.DyList;
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 DyListServlet extends HttpServlet {
public DyListServlet() {
super();
}
public void destroy() {
super.destroy();
}
protected void doGet(HttpServletRequest arg0, HttpServletResponse arg1) throws ServletException, IOException {
service(arg0, arg1);
}
protected void doPost(HttpServletRequest arg0, HttpServletResponse arg1) throws ServletException, IOException {
service(arg0, arg1);
}
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/xml; charset=GB2312");
response.setHeader("Cache-Control","no-store");
response.setHeader("Pragrma","no-cache");
PrintWriter out = response.getWriter();
String dylist = new String(request.getParameter("adeName").getBytes("ISO8859_1"),"gb2312");
String tempStr = "<response>";
if(dylist.equalsIgnoreCase("湖北")){
tempStr += "<adname>荆洲</adname>";
tempStr += "<adname>宜昌</adname>";
tempStr += "<adname>武汉</adname>";
tempStr += "<adname>其它</adname>";
}else if(dylist.equalsIgnoreCase("湖南")){
tempStr += "<adname>长沙</adname>";
tempStr += "<adname>岳阳</adname>";
tempStr += "<adname>韶关</adname>";
tempStr += "<adname>其它</adname>";
}else{
tempStr += "<adname>香港</adname>";
tempStr += "<adname>澳门</adname>";
tempStr += "<adname>台湾</adname>";
tempStr += "<adname>其它</adname>";
}
tempStr += "</response>";
out.print(tempStr);
out.close();
}
public void init() throws ServletException {
// Put your code here
}
}
JSP页面
<%@ page contentType="text/html;charset=gb2312" %>
<%@page import="com.cn.zzq.User.UserBean"%>
<html>
<head>
<title>Ajax学习欢迎页面</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<%
//UserBean user = (UserBean)session.getAttribute("user");
%>
<script type="text/javascript">
if (window.ActiveXObject && !window.XMLHttpRequest) {
window.XMLHttpRequest=function() {
return new ActiveXObject((navigator.userAgent.toLowerCase().indexOf('msie 5') != -1) ? 'Microsoft.XMLHTTP' : 'Msxml2.XMLHTTP');
};
}
var request=new XMLHttpRequest();
function aderChange(){
var adename = document.getElementById("aderselect").value;
var url = "servlet/DyListServlet?adeName="+adename;
request.open("GET",url,true);
request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
request.onreadystatechange = showChange;//指定响应方法
request.send(null); //发送请求
}
function showChange(){
if(request.readyState==4 && request.status==200){
var xmlDoc = request.responseXML;
//var results = xmlDoc.getElementsByTagName("name");
// alert(results.length);
//for(var i = 0; i < results.length; i++) {
// }
}
}
</script>
</head>
<body>
<div align="center">欢迎登陆 下面的AJAX联动示例</div>
<div align="center">
<select name="aderselect" id="aderselect" onchange="aderChange()">
<option value="default">请选择省份</option>
<option value="湖北">湖北</option>
<option value="湖南">湖南</option>
<option value="其他">其他</option>
</select>
<div style="display: none;">
<select name="select">
</select>
</div>
</div>
</body>
</html>
var xmlDoc = request.responseXML;
var results = xmlDoc.getElementsByTagName("name");
alert(results.length);为0
不知道怎么回事
大哥们帮帮忙