`
angie_hawk7
  • 浏览: 48215 次
  • 性别: Icon_minigender_1
  • 来自: 乌托邦
社区版块
存档分类
最新评论

【整理】IE和FireFox都支持的AJAX解析XML的方法

阅读更多

========================AJAX=====================

var xmlHttp = false;
try {
   xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
}catch (e) {
   try {
   xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
   }catch (e2) {
    xmlHttp = false;
   }
}
if (!xmlHttp && typeof XMLHttpRequest != 'undefined') {
   xmlHttp = new XMLHttpRequest();
}

function onIdcChanged(idcid)
{
var requrl = "${ctx}/block/idc/block.do?method=getRoom&parentInventoryId="+idcid;
xmlHttp.open("POST",requrl, true);
xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xmlHttp.onreadystatechange = update;
xmlHttp.send(null);//为支持火狐加null
}

function update(){

if(xmlHttp.readyState == 4) {
   try{
    var retXml = xmlHttp.responseText;
       //alert(retXml);
       //parase the xml,and then update the related box
    if( retXml == "false" ){
        //can not get the customer info
        alert(retXml);
       }else{
        //get the html element
        var room = document.getElementById("room");
        clearSelect(room,true);
        //get the xml data
     var xmlDoc;
        if (window.ActiveXObject)
        {
               xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
               xmlDoc.async=true;
               xmlDoc.loadXML(retXml);
        }
        // code for Mozilla, Firefox, Opera, etc.
        else if (document.implementation && document.implementation.createDocument)
        {
          var oParser=new DOMParser();
                   xmlDoc=oParser.parseFromString(retXml,"text/xml");

        }
        else
        {
               alert('你的浏览器不支持这个脚本!');
        }
       
      

     var items = xmlDoc.getElementsByTagName("rooms");
     alert(items[1].getAttribute("name"));
     for(var i=0;i<items.length;i++){
      var id = items[i].getAttribute("id");
      var name = items[i].getAttribute("name");
      room.options.add(new Option(name,id));
     }
    }
   }catch(e){
    //alert(e);
   }
}
}

====================Method==================

    public ActionForward getRoom(ActionMapping mapping, ActionForm form,
            HttpServletRequest request,
            HttpServletResponse response) {
        String xml = "false";
        Document document = DocumentHelper.createDocument();
        Element root = document.addElement("root");
        Element ele = null;
        ele = root.addElement("rooms");
        ele.addAttribute("id", "allroom");
        MyUser user = (MyUser) request.getSession().getAttribute(MyConstant.SESS_USER);
        Integer idcId = Integer.parseInt(request.getParameter("parentInventoryId"));
        InventoryApi api = InventoryApi.getInstance();
        List<InventoryItem> roomList = null;
        roomList = api.getRoomListByIdc(idcId, user);

        try {

            for (int i = 0; roomList != null && i < roomList.size(); i++) {
                ele = root.addElement("rooms");
                ele.addAttribute("id", roomList.get(i).getId() + "");
                ele.addAttribute("name", roomList.get(i).getName() + "");

            }
            xml = document.asXML();
        } catch (Exception e) {
            e.printStackTrace();
        }
        renderXML(response, xml);
        return null;
    }
分享到:
评论

相关推荐

    Ajax读取xml数据类型例子

    在这个例子中,我们将探讨如何使用AJAX来读取XML数据,特别关注在Chrome和Firefox浏览器中的实现。 XML(eXtensible Markup Language)是一种用于存储和传输数据的标记语言,具有良好的结构和可读性。在JavaScript...

    兼容IE,firefox jquery 创建XML

    本文将深入探讨如何使用jQuery在Internet Explorer(IE)和Firefox这两个主要浏览器中创建XML,以及相关的JavaScript(js)技术。 首先,我们需要理解XML(eXtensible Markup Language),它是一种用于存储和传输...

    Javascript(AJAX)解析XML的代码(兼容FIREFOX/IE)

    在这个例子中,我们将探讨如何使用JavaScript通过AJAX技术解析XML文档,同时兼容Firefox和Internet Explorer(IE)这两种不同的浏览器。 首先,我们需要创建一个函数`getResult`,它接收两个参数:一个是XML数据的...

    JS + XML 联动菜单 支持IE、FireFox

    标题 "JS + XML 联动菜单 支持IE、FireFox" 描述了一种使用JavaScript(JS)和XML技术实现的跨浏览器联动菜单。这种菜单通常在网页中用于下拉选择,例如省市县的选择,其中一项的选择会动态更新下一级菜单的内容。...

    Ajax FireFox IE 乱码兼容问题

    在IT领域,特别是Web开发中,字符编码的处理是一大挑战,尤其是在跨浏览器、跨平台的环境下,如在Ajax请求中遇到的FireFox与IE之间的乱码兼容问题。本文将深入探讨这一问题,并提供详细的解决方案。 ### Ajax与字符...

    JS解析XML适用于不用的浏览器

    对于支持XMLHttpRequest(XHR)的现代浏览器(如IE7+、Firefox、Chrome、Safari等),可以使用`XMLHttpRequest`对象的`responseXML`属性来解析XML响应。例如: ```javascript var xhr = new XMLHttpRequest(); xhr....

    JS读取XML文件数据并以table形式显示数据的方法(兼容IE与火狐) .zip

    在IE和Firefox之间,解析XML的方式有所不同: - **IE**:IE8及以下版本使用`ActiveXObject("Microsoft.XMLDOM")`创建XML DOM对象,然后调用`loadXML()`方法加载XML字符串。 - **Firefox**:其他现代浏览器,包括...

    DOM文档和Javascript的IE和Firefox兼容性

    - 对于事件冒泡和事件捕获,IE默认支持冒泡,而Firefox则默认支持捕获。使用`event.stopPropagation()`和`event.stopImmediatePropagation()`来控制事件传播,确保在不同浏览器中行为一致。 3. **CSS样式操作**: ...

    js解析xml字符串和xml文档实现原理及代码(针对ie与火狐)

    本文将详细探讨在IE和Firefox浏览器中解析XML文档和XML字符串的方法及其实现原理。 首先,我们需要创建XML文档对象。在IE浏览器中,我们使用ActiveXObject来创建XMLDOM对象: ```javascript if (window....

    Jquery全解析,ajax框架

    - **广泛的兼容性**:jQuery能够兼容各种主流浏览器(包括IE、Firefox、Chrome、Safari等),确保代码在不同环境中都能稳定运行。 #### 二、Ajax框架与jQuery的关系 Ajax(Asynchronous JavaScript and XML)是一...

    Ajax完全自学手册(PPT)

    Test Firefox XMl DOm.htm Firefox中的XML DOM支持 Firefox LoadXML.htm Firefox中的XML DOM支持 XPath Example1.xml XPath Writer.xml 开发中实际使用的XML文档 Test4IE XPath.htm IE中的XPath支持 Test ...

    JS实现兼容各浏览器解析XML文档数据的方法

    知识点一:JavaScript解析XML文档的方法 在JS实现兼容各浏览器解析XML文档数据的方法中,首先介绍了一种使用JavaScript解析XML文档的方法。JavaScript是浏览器内置的脚本语言,它可以直接操作DOM,因此可以用来解析...

    Ajax完全自学手册(源代码).rar

    Test Firefox XMl DOm.htm Firefox中的XML DOM支持 Firefox LoadXML.htm Firefox中的XML DOM支持 XPath Example1.xml XPath Writer.xml 开发中实际使用的XML文档 Test4IE XPath.htm IE中的XPath支持 Test ...

    AJAX的阻塞及跨域名解析

    iframe虽然不在标准中出现,但是由于它实在有用,FireFox也“不得不”对它进行了支持。我们可以在另一个域名下放置一个特定的页面文件作为Proxy,主页面将异步请求的信息通过Query String传递入iframe里的Proxy页面...

    Ajax完全自学手册PPT和源代码(ptt格式)

    Test Firefox XMl DOm.htm Firefox中的XML DOM支持 Firefox LoadXML.htm Firefox中的XML DOM支持 XPath Example1.xml XPath Writer.xml 开发中实际使用的XML文档 Test4IE XPath.htm IE中的XPath支持 Test Firefox ...

    JS解析XML实例分析

    根据描述中的内容,文章详细分析了JavaScript针对不同浏览器,主要是IE浏览器和非IE浏览器(如Firefox、Chrome等),解析XML文件的方法。具体实现时,利用了JavaScript提供的内置对象DOMParser(在非IE浏览器中使用...

    jQuery行级解析读取XML文件

    在IE6+和FireFox 3.0+浏览器上测试都完美通过。下载源码包后直接解压到你的网站根目录即可进行测试。详细代码说明请浏览关于此源码包的文章:http://blog.csdn.net/xht555/archive/2009/10/11/4653604.aspx

Global site tag (gtag.js) - Google Analytics