以下是我的代码:
var xmlHttp;
function createXmlHttpRequest(){
if(window.ActiveXObject)
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"

;
else
xmlHttp = new XMLHttpRequest();
}
function sendURL(url){
createXmlHttpRequest();
xmlHttp.onreadystatechange = callback;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
}
function callback(){
if(xmlHttp.readyState == 4){
if(xmlHttp.status == 200){
updateClassList(xmlHttp.responseXML);
}
}
}
调用的代码:
sendURL("/ShowClassAction.do?gradeId="+obj.value);
Action的代码:
public class ShowClassAction extends HttpServlet {
private static final long serialVersionUID = 6589389235439164367L;
public void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String gradeId = request.getParameter("gradeId"

;
response.setContentType("text/xml"

;
response.setHeader("Cache-Control", "no-cache"

;
PrintWriter out = response.getWriter();
out.println("<classes>"

;
ClassesDAO cdao = new ClassesDAO();
QueryParam query = new QueryParam();//自定义查询
query.addFilter("gradeId",query.FILTER_EQUALS,gradeId,query.PROPERTY_STRING);
List list = cdao.list(query);//list不为空
System.out.println("XXXXXXXXXXXX"+gradeId+" "+list.size());
for(int i=0;i<list.size();i++){
ClassesEntity ce = (ClassesEntity)list.get(i);
out.println("<book>"

;
String id = ce.getClassesId();
String name = ce.getClassesName();
out.println("<id>" + id + "</id>"

;
out.println("<name>" + name + "</name>"

;
out.println("</book>"

;
}
out.println("</classes>"

;
out.close();
}
}
为什么这个代码返回的是responseText,有什么办法让它返回responseXML呢?