这是struts后台方法public String execute()throws Exception{
List<UserEntity> users=UserFactory.getInstance().getUsers();
HttpServletResponse response = ServletActionContext.getResponse();
response.setContentType("text/xml;charset=UTF-8");   
        response.setHeader("Cache-Control","no-cache");
PrintWriter out = response.getWriter();   
String xmlString=this.createXML(users);
        out.print(xmlString); 
        out.flush();
        System.out.print(xmlString);
return SUCCESS;
}这是struts.xml配置<package name="json" extends="json-default">
    <action name="json" class="com.yang.JSONAction">
        <result type="json"></result>
    </action>
    <action name="jquery" class="com.yang.JqueryAction">
        <result type="json"></result>
    </action>
</package>这是前台调用function XMLR(){
           var params = {name:"张三"};
           //jQuery.post("jquery.action",XMLL,'json');
           $.ajax({
               type:"post",
               url:"jquery.action",
               dataType:"xml",
               success:XMLL,
               error:ERROR
           });
       }
       function XMLL(xml){
          
       }
       function ERROR(er,t){
          alert(t);
       }总是执行ERROR方法,输出parsererro
怎么回事呢?

解决方案 »

  1.   

    补充一点xmlString的值是<?xml version="1.0" encoding="UTF-8"?>
    <users><user><id>1001</id><name>小花</name><sex>女</sex><age>18</age></user><user><id>1002</id><name>小红</name><sex>女</sex><age>19</age></user><user><id>1003</id><name>张三</name><sex>男</sex><age>20</age></user></users>
      

  2.   

    不太清楚 
     有可能是你xml格式不对 或者是你 转换的实体和你定义的实体不一样  
      

  3.   

    out.print(xmlString); 
            out.flush();
    改为: 
    response.getWriter().write(str);看看
      

  4.   

    List<UserEntity> users=UserFactory.getInstance().getUsers();
            HttpServletResponse response = ServletActionContext.getResponse();
            response.setContentType("text/xml;charset=UTF-8");   
            response.setHeader("Cache-Control","no-cache");
            PrintWriter out = response.getWriter();   
            String xmlString=this.createXML(users);
            out.print(xmlString); 
            out.flush();
            System.out.print(xmlString);
            return SUCCESS;
    你把这段方法加个try  {} catch()看看是那错了
      

  5.   

    吧你的 return SUCCESS; 去掉 ,这个方法不要返回值,然后用response返回出去!
      

  6.   

    7楼的不也不行,6楼的,我的System有值,就是最上边的xml
    肯定没错啊
      

  7.   

    那就是前台响应不能解析生成XMLDOC啦,你alert(xmlHttpRequest.repsonseText)看看,不过晓不得你用的是ajax的什么框架
      

  8.   

    我把dataType改成json可以调用这个action中的普通操作,也有值返回
    就是后台那个操作xml这里是错误的,前台没什么错误吧.