========================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数据,特别关注在Chrome和Firefox浏览器中的实现。 XML(eXtensible Markup Language)是一种用于存储和传输数据的标记语言,具有良好的结构和可读性。在JavaScript...
本文将深入探讨如何使用jQuery在Internet Explorer(IE)和Firefox这两个主要浏览器中创建XML,以及相关的JavaScript(js)技术。 首先,我们需要理解XML(eXtensible Markup Language),它是一种用于存储和传输...
在这个例子中,我们将探讨如何使用JavaScript通过AJAX技术解析XML文档,同时兼容Firefox和Internet Explorer(IE)这两种不同的浏览器。 首先,我们需要创建一个函数`getResult`,它接收两个参数:一个是XML数据的...
标题 "JS + XML 联动菜单 支持IE、FireFox" 描述了一种使用JavaScript(JS)和XML技术实现的跨浏览器联动菜单。这种菜单通常在网页中用于下拉选择,例如省市县的选择,其中一项的选择会动态更新下一级菜单的内容。...
在IT领域,特别是Web开发中,字符编码的处理是一大挑战,尤其是在跨浏览器、跨平台的环境下,如在Ajax请求中遇到的FireFox与IE之间的乱码兼容问题。本文将深入探讨这一问题,并提供详细的解决方案。 ### Ajax与字符...
对于支持XMLHttpRequest(XHR)的现代浏览器(如IE7+、Firefox、Chrome、Safari等),可以使用`XMLHttpRequest`对象的`responseXML`属性来解析XML响应。例如: ```javascript var xhr = new XMLHttpRequest(); xhr....
在IE和Firefox之间,解析XML的方式有所不同: - **IE**:IE8及以下版本使用`ActiveXObject("Microsoft.XMLDOM")`创建XML DOM对象,然后调用`loadXML()`方法加载XML字符串。 - **Firefox**:其他现代浏览器,包括...
- 对于事件冒泡和事件捕获,IE默认支持冒泡,而Firefox则默认支持捕获。使用`event.stopPropagation()`和`event.stopImmediatePropagation()`来控制事件传播,确保在不同浏览器中行为一致。 3. **CSS样式操作**: ...
本文将详细探讨在IE和Firefox浏览器中解析XML文档和XML字符串的方法及其实现原理。 首先,我们需要创建XML文档对象。在IE浏览器中,我们使用ActiveXObject来创建XMLDOM对象: ```javascript if (window....
- **广泛的兼容性**:jQuery能够兼容各种主流浏览器(包括IE、Firefox、Chrome、Safari等),确保代码在不同环境中都能稳定运行。 #### 二、Ajax框架与jQuery的关系 Ajax(Asynchronous JavaScript and XML)是一...
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 ...
知识点一:JavaScript解析XML文档的方法 在JS实现兼容各浏览器解析XML文档数据的方法中,首先介绍了一种使用JavaScript解析XML文档的方法。JavaScript是浏览器内置的脚本语言,它可以直接操作DOM,因此可以用来解析...
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 ...
iframe虽然不在标准中出现,但是由于它实在有用,FireFox也“不得不”对它进行了支持。我们可以在另一个域名下放置一个特定的页面文件作为Proxy,主页面将异步请求的信息通过Query String传递入iframe里的Proxy页面...
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 ...
根据描述中的内容,文章详细分析了JavaScript针对不同浏览器,主要是IE浏览器和非IE浏览器(如Firefox、Chrome等),解析XML文件的方法。具体实现时,利用了JavaScript提供的内置对象DOMParser(在非IE浏览器中使用...
在IE6+和FireFox 3.0+浏览器上测试都完美通过。下载源码包后直接解压到你的网站根目录即可进行测试。详细代码说明请浏览关于此源码包的文章:http://blog.csdn.net/xht555/archive/2009/10/11/4653604.aspx