-=[ Mr. Bumblebee ]=-
_Indonesia_
/**
* Author : MC ½É»õ (ganer9r@naver.com)
* Make Date : 2006-09-22
* comment : ajaxÀÇ xmlÀ» javascript °´Ã¼Çü½ÄÀ¸·Î ÀÚµ¿ º¯È¯
**/
/* Ajax »ç¿ëÀ» À§ÇÑ ±âº» ÄÞÆ÷³ÍÆ® Start */
function AjaxDataControl() {
this.xmlHttp = null;
this.getHttpRequest = function(URL, object) {
var xmlHttp = this.xmlHttp;
var xmlData = null;
// FFÀÏ °æ¿ì window.XMLHttpRequest °´Ã¼°¡ Á¸ÀçÇÑ´Ù.
if(!xmlHttp) {
if(window.XMLHttpRequest) {
xmlHttp = new XMLHttpRequest();
} else {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
this.xmlHttp = xmlHttp;
}
xmlHttp.open('GET', URL, true);
xmlHttp.send(null);
xmlHttp.onreadystatechange = function() {
// readyState °¡ 4 °í status °¡ 200 ÀÏ °æ¿ì ¿Ã¹Ù¸£°Ô °¡Á®¿È
if(xmlHttp.readyState == 4 && xmlHttp.status == 200 && xmlHttp.statusText == 'OK') {
var xmlData = xmlHttp.responseXML;
object.setXmlData(xmlData);
}
}
}
this.getXmlRootNode = function(nodes, rootName) {
var rootNode = nodes.getElementsByTagName(rootName);
return rootNode;
}
}
/* Ajax »ç¿ëÀ» À§ÇÑ ±âº» ÄÞÆ÷³ÍÆ® End */
/* Ajax¿¡¼ ¸®ÅϹÞÀº XML NODE¸¦ JAVASCRIPT OBJECT Çü½ÄÀ¸·Î º¯È¯ Start */
function AjaxObject() {
this.ac = null;
this.xmlData = null;
this.rootName = null;
this.functionName = null;
this.inArray = function(array, value) {
var result = false;
for(var i = 0; i < array.length; i++) {
if(array[i] == value) {
result = true;
break;
}
}
return result;
}
this.getHttpRequest = function(Url, functionName) {
if(this.ac == null) {
this.ac = new AjaxDataControl();
}
this.functionName = functionName;
this.ac.getHttpRequest(Url, this);
}
this.setMakeObject = function(nodeData) {
var resultObject = new Object;
resultObject.length = 0;
if(nodeData.hasChildNodes()) {
var nodeChilds = nodeData.childNodes;
var nodeNameList = new Array();
var isNodeChilds = false;
for(var i = 0; i < nodeChilds.length; i++) {
if(nodeChilds[i].nodeType == '1') {
var returnObj = this.setMakeObject(nodeChilds[i]);
if( typeof (returnObj) == "string") {
resultObject[nodeChilds[i].nodeName] = this.setMakeObject(nodeChilds[i]);
resultObject.length += 1;
} else {
if(resultObject[nodeChilds[i].nodeName]) {
resultObject[nodeChilds[i].nodeName].push(returnObj);
} else {
resultObject[nodeChilds[i].nodeName] = new Array();
resultObject[nodeChilds[i].nodeName].push(returnObj);
resultObject.length += 1;
}
}
isNodeChilds = true;
}
}
if(!isNodeChilds) {
resultObject = nodeChilds[0].nodeValue;
} else {
}
}
return resultObject;
}
this.setMakeControl = function() {
if(this.xmlData != null) {
var rootNode = this.ac.getXmlRootNode(this.xmlData, this.rootName);
var list = this.setMakeObject(rootNode[0]);
eval(this.functionName + "(list)");
}
}
this.setXmlData = function(data) {
this.xmlData = data;
this.rootName = data.documentElement.nodeName;
this.setMakeControl();
}
}
/* Ajax¿¡¼ ¸®ÅϹÞÀº XML NODE¸¦ JAVASCRIPT OBJECT Çü½ÄÀ¸·Î º¯È¯ End */
/****************************»ç¿ë¹ý Start
var aObj = new AjaxObject; // AjaxList ¼±¾ð
aObj.getHttpRequest("test.xml", "displayBoardList"); //ÂüÁ¶Url, ¸®ÅÏ ÇÔ¼ö¸í
¸®ÅÏ ÇÔ¼ö¿¡´Â obj¸¦ ¹ÞÀ» ÀÎÀÚ Çʼö!!!
<root>
<item>
<name>È«±æµ¿</name>
<mail>hong@test.com</mail>
</item>
<item>
<name>°í±æµ¿</name>
<mail>go@test.com</mail>
</item>
</root>
ÀÌ·± XMLÀÌ ÀÖ´Â °æ¿ì º¯È¯µÇ¼ ¸®ÅϹ޴ Object´Â ¾Æ·¡¿Í °°Àº Çü½ÄÀ» Çϰí ÀÖ½À´Ï´Ù.
data['item'][0]['name'] = 'È«±æµ¿';
data['item'][0]['mail'] = 'hong@test.com';;
data['item'][1]['name'] = 'È«±æµ¿';
data['item'][1]['mail'] = 'go@test.com';;
·çÆ® ³ëµå´Â ÀÚµ¿»ý·«ÇÕ´Ï´Ù.
¸Ç ¸¶Áö¸· ³ëµå¸¦ Á¦¿ÜÇϰí´Â ¹è¿Á¤º¸°¡ Ç×»ó µé¾î°©´Ï´Ù.
********************************************************************************/
Copyright © 2017 || Recoded By Mr.Bumblebee