์ต๊ณ ์ AJAX XML ํํ ๋ฆฌ์ผ 2024๋
, ์ด ํํ ๋ฆฌ์ผ์์๋ AJAX์ XML ์ธ์คํด์ค,์,๋ถ์์ ์ - loadXMLDoc () ํจ์,AJAX ์๋ฒ ํ์ด์ง,๋ฅผ ๋ฐฐ์ธ ์ ์์ต๋๋ค.
AJAX XML
AJAX๋ XML ํ์ผ๊ณผ ๋ํ ํ์ผ๋ก ํต์ ํ ์์๋ค.
AJAX์ XML ์ธ์คํด์ค
๋ค์ ์๋ XML ํ์ผ์ ๋ด์ฉ์ ์ฝ๊ธฐ ์ํด AJAX ์น ํ์ด์ง๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ณด์ฌ
๋ถ์์ ์ - loadXMLDoc () ํจ์
์ฌ์ฉ์๋ loadXMLDoc () ํจ์๋ฅผ ์คํํฉ๋๋ค "ํ๊ธฐ CD ์ ๋ณด"๋ฒํผ์ ํด๋ฆญํฉ๋๋ค.
๊ธฐ๋ฅ, XMLHttpRequest ๊ฐ์ฒด๋ฅผ ์์ฑ ์ถ๊ฐ loadXMLDoc () ํจ์๋ ์๋ฒ ์๋ต์ ์ค๋นํ๊ณ , ์์ฒญ์ ์๋ฒ๋ก ์ก์ ํ ๋ ์คํ๋๋ค.
์๋ฒ ์๋ต์ ์ค๋น ํ ๋, XML ํ์ผ์์ HTML ํ
์ด๋ธ ์ถ์ถ ๋
ธ๋ (์์)๋ฅผ ๊ตฌ์ถํ๊ณ txtCDInfo ์๋ฆฌ๋ฅผ ๊ฐฑ์ HTML ํํ๊ฐ XML ๋ฐ์ดํฐ์ ์ถฉ์ ๋์ด ์ฌ์ฉ๋๋ค :
function loadXMLDoc(url)
{
var xmlhttp;
var txt,xx,x,i;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
txt="<table border='1'><tr><th>Title</th><th>Artist</th></tr>";
x=xmlhttp.responseXML.documentElement.getElementsByTagName("CD");
for (i=0;i<x.length;i++)
{
txt=txt + "<tr>";
xx=x[i].getElementsByTagName("TITLE");
{
try
{
txt=txt + "<td>" +
xx[0].firstChild.nodeValue + "</td>";
}
catch (er)
{
txt=txt + "<td> </td>";
}
}
xx=x[i].getElementsByTagName("ARTIST");
{
try
{
txt=txt + "<td>" +
xx[0].firstChild.nodeValue + "</td>";
}
catch (er)
{
txt=txt + "<td> </td>";
}
}
txt=txt + "</tr>";
}
txt=txt + "</table>";
document.getElementById('txtCDInfo').innerHTML=txt;
}
}
xmlhttp.open("GET",url,true);
xmlhttp.send();
}
AJAX ์๋ฒ ํ์ด์ง
์์ ์๋ ํ์ด์ง ์๋ฒ๊ฐ ์ค์ ๋ก "๋ผ๋ ์ฌ์ฉ cd_catalog.xml "XML ํ์ผ.