标题:如何使用ajax接受由java动态生成的xml
只看楼主
mzthy1989
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2010-12-7
 问题点数:0 回复次数:3 
如何使用ajax接受由java动态生成的xml
     内容描述:
         本人在做一个网站 , 在处理用户搜索方面使用的是 ajax 代替了传统的表单提交 , 而在后台使用java  的 action 类处理逻辑 。 现在我想能不能使用 java动态生成xml文件来存储 搜索结果 , 然后将 生成的xml文件内容 反馈到页面 , 并使用 jquery ajax来解析接受到的 xml 文件 。
         生成xml的java类中生成xml内容的部分  :
            
        // 创建根节点 list;   
        Element root = new Element("publishersList");   
         
        // 根节点添加到文档中;   
        Document Doc = new Document(root);   
        
        if(publisherList.size() > 0){
            for(int i = 0 ; i < publisherList.size() ; i++){
                Publisher publisher = publisherList.get(i);
                // 创建节点 user;   
                Element elements = new Element("publisher");   
                // 给 user 节点添加属性 id;   
                elements.setAttribute("id", publisher.getPublisherId());   
                  
                //添加子节点并赋值;   
                elements.addContent(new Element("publisherName").setText(publisher.getPublisherName()));  
                elements.addContent(new Element("publisherAddr").setText(publisher.getPublisherAddr()));  
                elements.addContent(new Element("publisherTel").setText(publisher.getPublisherTel()));  
                elements.addContent(new Element("summary").setText(publisher.getSummary()));
                // 给父节点list添加user子节点;  
                root.addContent(elements);  
               
            }
            
        }
        
        XMLOutputter XMLOut = new XMLOutputter();

        在前台页面(jsp)中采用jquery ajax来接受 :
            var xmlHttp ;
            if(window.ActiveXObject){
                xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
            }else if(window.XMLHttpRequest){
                xmlHttp = new XMLHttpRequest() ;
            }else{}
            
            var uri = "/Library/Publisher/PublisherQueryAction.action" ;
            uri = encodeURI(encodeURI(uri));  
            xmlHttp.open("post",uri,true) ;
               
            xmlHttp.onreadystatechange = function(){
                if(xmlHttp.readyState == 4){
                    //将后台返回的html代码插入到 readerTable 节点中 ;
                    var xml = xmlHttp.responseXML;
                    var publishNode = xml.getElementsByTagName('publisher');
                    alert(publishNode.length);
                }
               
            }
            xmlHttp.send(null) ;
      在解析的时候程序不会报错,但是 却并不能够 解析出数据 (生成的xml文件是有数据的) , 求高人指点 .......
搜索更多相关主题的帖子: ajax java xml 动态 
2010-12-07 16:03
mzthy1989
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2010-12-7
得分:0 
为什么没有高人指点一下 ?
2010-12-09 13:43
hugeannex
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:6
帖 子:477
专家分:911
注 册:2005-3-20
得分:0 
加上红色字体那句应该就没问题了.         
            uri = encodeURI(encodeURI(uri));
            xmlHttp.setRequestHeader("content-type","Application/x-www-form-urlencoded");
            xmlHttp.open("post",uri,true)

世事如潮我如水,只叹江湖几人回。
2010-12-11 13:57
mzthy1989
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2010-12-7
得分:0 
回复 3楼 hugeannex
非常感谢,我试一下
2010-12-23 20:14



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-328251-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.113805 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved