AJAX call시에 return 받은 xmlDoc을 parsing하는 javascript를 정상동작하도록 마무리 수정

git-svn-id: http://xe-core.googlecode.com/svn/sandbox@4249 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
zero 2008-06-09 03:44:54 +00:00
parent b05cc853c6
commit 46f570bed2
2 changed files with 19 additions and 17 deletions

View file

@ -169,27 +169,28 @@ function xml_parseXmlDoc(dom) {
while(obj) {
if(obj.nodeType == 1) {
if(obj.firstChild && obj.lastChild && obj.firstChild == obj.lastChild) {
var name = obj.nodeName;
var value = obj.firstChild.nodeValue;
var name = obj.nodeName;
var value = null;
if(obj.childNodes.length==1 && obj.firstChild.nodeType != 1) {
value = obj.firstChild.nodeValue;
} else {
value = this.parseXMLDoc(obj);
}
if(typeof(ret_obj[name])=='undefined') {
ret_obj[name] = value;
} else {
var name = obj.nodeName;
var value = this.parseXMLDoc(obj);
if(typeof(ret_obj[name])=='undefined') {
ret_obj[name] = value;
if(ret_obj[name].length>0) {
ret_obj[name][ret_obj[name].length] = value;
} else {
if(ret_obj[name].length>0) {
ret_obj[name][ret_obj[name].length] = value;
} else {
var tmp_value = ret_obj[name];
ret_obj[name] = new Array();
ret_obj[name][ret_obj[name].length] = tmp_value;
ret_obj[name][ret_obj[name].length] = value;
}
var tmp_value = ret_obj[name];
ret_obj[name] = new Array();
ret_obj[name][ret_obj[name].length] = tmp_value;
ret_obj[name][ret_obj[name].length] = value;
}
}
}
obj = obj.nextSibling;
}
@ -203,7 +204,7 @@ function xml_handlerToZMsgObject(xmlDoc, tags) {
tags[tags.length] = "act";
var parsed_array = this.parseXMLDoc(xmlDoc.getElementsByTagName('response')[0]);
var obj_ret = new Array();
for(var i=0; i<tags.length; i++) {
var key = tags[i];