آموزش آجاکس فایل XML

چاپ

از آجاکس می توان برای ارتباط تعاملی با یک فایل XML استفاده نمود. 


مثالی از XML در آجاکس

مثال زیر، نشان می دهد که چطور یک صفحه ی وب می تواند به وسیله ی آجاکس، اطلاعات را از یک فایل XML دریافت کند:

مثال

خودتان امتحان کنید »


توضیح مثال

هنگامی که کاربر بر روی دکمه ی "Get CD info" در بالا، کلیک می کند، تابع ()loadDoc اجرا می شود.

The loadDoc() function creates an XMLHttpRequest object, adds the function to be executed when the server response is ready, and sends the request off to the server.

تابع ()loadDoc یک شیء XMLHttpRequest را ایجاد می کند. سپس یک تابع را اضافه می کند تا هنگامی که پاسخ سرور آمده شد، اجرا شود و سپس درخواست را به سرور مورد نظر ارسال می کند. 

هنگامی که پاسخ سرور آماده شد، یک جدول HTML ایجاد می شود و عناصر از فایل XML استخراج می شوند و در آخر عنصر txtCDInfo آپدیت شده و به وسیله ی جدول HTML و داده های XML پر می شود:

LoadXMLDoc()

function loadDoc() {
  var xhttp = new XMLHttpRequest();
  xhttp.onreadystatechange = function() {
    if (xhttp.readyState == 4 && xhttp.status == 200) {
    myFunction(xhttp);
    }
  };
  xhttp.open("GET", "cd_catalog.xml", true);
  xhttp.send();
}
function myFunction(xml) {
  var i;
  var xmlDoc = xml.responseXML;
  var table="<tr><th>Artist</th><th>Title</th></tr>";
  var x = xmlDoc.getElementsByTagName("CD");
  for (i = 0; i <x.length; i++) { 
    table += "<tr><td>" +
    x[i].getElementsByTagName("ARTIST")[0].childNodes[0].nodeValue +
    "</td><td>" +
    x[i].getElementsByTagName("TITLE")[0].childNodes[0].nodeValue +
    "</td></tr>";
  }
  document.getElementById("demo").innerHTML = table;
}

فایل XML مورد نظر

فایل XML استفاده شده در مثال بالا مانند این فایل است: cd_catalog.xml