Skip to content

AJAX — XML Misoli ​

AJAX-dan XML fayli bilan interaktiv muloqot qilish uchun foydalanish mumkin.


AJAX XML Misoli ​

Quyidagi misol veb-sahifa AJAX yordamida XML faylidan qanday qilib ma'lumot olishini ko'rsatib beradi:

Misol ​

html
<div id="demo">
  <button onclick="loadDoc()">CD ma'lumotlarini olish</button>
</div>

<script>
  function loadDoc() {
    const xhttp = new XMLHttpRequest()
    xhttp.onload = function () {
      myFunction(this)
    }
    xhttp.open('GET', 'cd_catalog.xml')
    xhttp.send()
  }

  function myFunction(xml) {
    const xmlDoc = xml.responseXML
    const x = xmlDoc.getElementsByTagName('CD')
    let table = '<tr><th>Artist</th><th>Title</th></tr>'
    for (let 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
  }
</script>

Misol Tushuntirishi ​

Foydalanuvchi yuqoridagi "CD ma'lumotlarini olish" tugmasini bosganda, loadDoc() funksiyasi bajariladi.

  • loadDoc() funksiyasi XMLHttpRequest obyektini yaratadi;
  • Server javobi tayyor bo'lganda bajariladigan funksiyani qo'shadi;
  • So'rovni serverga yuboradi.

Server javobi tayyor bo'lganda, HTML jadvali tuziladi, tugunlar (elementlar) XML faylidan ajratib olinadi va yakunida "demo" elementi XML ma'lumotlari bilan to'ldirilgan HTML jadvali bilan yangilanadi.


XML fayli ​

Yuqoridagi misolda ishlatilgan XML fayli ("cd_catalog.xml") taxminan quyidagicha ko'rinishga ega:

xml
<CATALOG>
  <CD>
    <TITLE>Empire Burlesque</TITLE>
    <ARTIST>Bob Dylan</ARTIST>
    <COUNTRY>USA</COUNTRY>
    <COMPANY>Columbia</COMPANY>
    <PRICE>10.90</PRICE>
    <YEAR>1985</YEAR>
  </CD>
  ...
</CATALOG>