bugl
bugl
HomeLearnPatternsPathsSearch
HomeLearnPatternsPathsSearch

Loading lesson path

Learn/JavaScript/Objects, Classes, and Advanced Patterns
JavaScript•Objects, Classes, and Advanced Patterns

AJAX XML Example

Flash cards

Review the key moves

1/4
Core idea

What is the main idea behind AJAX XML Example?

Lesson checks

Practice each idea before moving on

Short Mimo-style checks built from this lesson's code, terms, and sequence.

1Quick choice

Which statement best captures the main point of this lesson?

2Fill blank

Complete the missing token from the example code.

___ loadDoc() {
3Order

Put the learning moves in the order that makes the concept easiest to apply.

When a user clicks on the "Get CD info" button above, the loadDoc() function is executed.
The following example will demonstrate how a web page can fetch information from an XML file with AJAX:
AJAX can be used for interactive communication with an XML file.

AJAX can be used for interactive communication with an XML file.

AJAX XML Example

The following example will demonstrate how a web page can fetch information from an XML file with AJAX:

Example Explained

When a user clicks on the "Get CD info" button above, the loadDoc() function is executed.

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.

When the server response is ready, an HTML table is built, nodes (elements) are extracted from the XML file, and it finally updates the element "demo" with the HTML table filled with XML data:

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;
}

The XML File

The XML file used in the example above looks like this: " cd_catalog.xml ".

Previous

AJAX - Server Response

Next

AJAX PHP Example