永发信息网

servlet中out.println()的xml无法在ajax获取到

答案:2  悬赏:0  手机版
解决时间 2021-02-27 00:48
  • 提问者网友:川水往事
  • 2021-02-26 09:40
out.println("");
out.println("");
for(int i=0;ixxinfo xx=(xxinfo)Al.get(i);
String stuname=xx.getName();
out.println(""+stuname+"");
}
out.println(""+"1213"+"");
out.println("
");
------------------servlet中的输出----------------------
xmlHttp.onreadystatechange=function(){
if(xmlHttp.readyState==4){
var xmlDom=xmlHttp.responseXml;
var xxinfos=xmlDom.getElementsByTagName("stun");
alert(xxinfos.length);
---------------------此处alert的输出为0----------------------
最佳答案
  • 五星知识达人网友:千夜
  • 2021-02-26 10:51
你输出的只不过是一堆类似xml文件的一些字符串而已,并不是xml数据。
LOG.info("******dom4j start create xml document stream*******");
Document doc = DocumentHelper.createDocument();
Element rootElement = doc.addElement("students");
Element pageElement = rootElement.addElement("page");

pageElement.setText(isreset);
rootElement.addComment("all students is here!");
if(stus != null && !stus.isEmpty()){
LOG.info("*******students number:" + stus.size() + "**********");
for(int i=0;i Element studentElement = rootElement.addElement("student");
Element id = studentElement.addElement("id");
Element name = studentElement.addElement("name");
Element age = studentElement.addElement("age");
Element sex = studentElement.addElement("sex");
Element country = studentElement.addElement("country");
id.setText(stus.get(i).getId() + "");
name.setText(stus.get(i).getName());
age.setText(stus.get(i).getAge() + "");
String sexName = stus.get(i).getSex();
sex.setText(sexName);
country.setText(stus.get(i).getCountry());
}
LOG.info("******dom4j success create xml document*******");
}else{
LOG.info("******get no student*******");
}
resp.setContentType("text/xml;charset=utf-8");
resp.setHeader("pragma","no-cache");
resp.setHeader("cache-control","no-cache");
PrintWriter out = resp.getWriter();
OutputFormat format = OutputFormat.createPrettyPrint();
format.setEncoding("utf-8");
XMLWriter xmlWriter = new XMLWriter(out,format);
xmlWriter.write(doc);
out.flush();
out.close();
全部回答
  • 1楼网友:忘川信使
  • 2021-02-26 11:49
ajax异步操作如果有返回值的话,需要在回调函数中对返回值作相应处理,才会有结果,上面这段代码比较合适的写法是这样(在room.jsp中用jquery): room.jsp中: $.get("你的servlet",{},function(result){ alert(result); }) 其中:function(result){}就是回调函数 servlet中 out.print( “站起来");
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯