========================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;
}
分享到:
相关推荐
Javascript AJAX 解析XML的代码(兼容FIREFOX/IE)
这是用ajax读取xml数据类型的例子,其中只能在chrome与firefox运行,在ie下不能正常运行。
分别针对ie和火狐分别作了对xml文档和xml字符串的解析,所有代码都注释掉了,想看哪部分功能,去掉注释就可以了。至于在ajax环境下解析xml,其实原理是一样的,只不过放在了ajax里,还是要对返回的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 ...
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 ...
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 ...
在IE6+和FireFox 3.0+浏览器上测试都完美通过。下载源码包后直接解压到你的网站根目录即可进行测试。详细代码说明请浏览关于此源码包的文章:http://blog.csdn.net/xht555/archive/2009/10/11/4653604.aspx
在XML和DTD文件中,第一个定义的都是根元素。 3.Parent Element(父元素)/Child Element(子元素) 父元素是指包含有其它元素的元素,被包含的元素称为它的子元素。看上面的"结构树",其中是父元素,,是它的子元素,...
细致介绍CSS的语法规则,透彻讲解CSS应用于各种网页元素的步骤和技巧深入剖析,CSS+DIV布局的思路和方法比较,IE和Firefox浏览器对CSS支持的不同效果,扩展CSS与JavaScript,Ajax,XML的综合应用,全面解析5个完整网站的CSS...
刚开始 Ajax 调用 PHP 用 DOM 动态产生的XML文件时没有任何错误。转到 Zend FrameWork 下时,在 IE 下显示也完全正常并且 Ajax 解析正常,但是在 Firefox 和 Safari 下便出现如下错误
支持的浏览器: IE 7.0+, Firefox 3.0+, Chrome 2.0+, Opera 9.5+, Safari 3.0+ 注:ExtAspNet基于一些开源的程序ExtJS, HtmlAgilityPack, Nii.JSON, YUICompressor。 示例: http://extasp.net/ 开源: ...
《精通CSS+DIV网页样式与布局》从零开始,细致介绍CSS的语法规则,透彻讲解CSS应用于各种网页元素的步骤和技巧深入剖析,CSS+DIV布局的思路和方法比较,IE和Firefox浏览器对CSS支持的不同效果,扩展CSS与JavaScript...
Ajax应用中很常见的行为便是后台把数据用XML包裹好返回给浏览器,浏览器解析XML,得到nodeValue 如果单个node中内容很长(超过4096字节),这时在FireFox/Mozilla中就要注意了,内容将会被FrieFox分解为多个textNode,...
支持的浏览器: IE 7.0+, Firefox 3.0+, Chrome 2.0+, Opera 9.5+, Safari 3.0+ 注:ExtAspNet基于一些开源的程序ExtJS, HtmlAgilityPack, Nii.JSON, YUICompressor。 示例: http://extasp.net/ 开源: ...
10月16日的2012年的目标 - 问题(0126053):详细的图像,:预览图像失踪,在Firefox和Opera。固定的。 *语言* [*]的目标 - 改进(0123712):2012年10月18号,澳大利亚的语言。 [“AU”,“AUS”,“澳大利亚”] ...
●子域名下的页面在IE6下用AJAX访问标签时出现JS错误。 ●添加文章勾选“是否显示评论链接”,前台列表显示时不能在标题旁显示“评论”链接。 ●“加密文章内容页”模板在改变字体大小与收藏的功能不起作用。 ●...