-=[ Mr. Bumblebee ]=-
_Indonesia_

Path : /var/www/html/inc.bk/js/
File Upload :
Current File : /var/www/html/inc.bk/js/special.ajax.js

/**
 * 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