Making AJAX calls
// create a function that will take specified URL and return data to us function makeAjaxRequest(URL, callbackFunction) { var httpRequest = new XMLHttpRequest(); httpRequest.onreadystatechange = function () { if (httpRequest.readyState === 4) { if (httpRequest.status === 200) { var data = JSON.parse(httpRequest.responseText); if (callbackFunction) { callbackFunction(data); } } } }; httpRequest.open('GET', URL); httpRequest.send(); } //Call function with arguments makeAjaxRequest('https://dog.ceo/api/breeds/list/all', function (data) { console.log(data.message); });
// Working with XML var request; if (window.XMLHttpRequest) { request = new XMLHttpRequest(); } else { request = new ActiveXObject("Microsoft.XMLHTTP"); } request.open('GET', 'data.xml'); request.onreadystatechange = function() { if ((request.readyState===4) && (request.status===200)) { console.log(request.responseXML.getElementsByTagName('name')[1].firstChild.nodeValue); var items = request.responseXML.getElementsByTagName('name'); var output = '<ul>'; for (var i = 0; i < items.length; i++) { output += '<li>' + items[i].firstChild.nodeValue + '</li>'; } output += '</ul>'; document.getElementById('update').innerHTML = output; } } request.send();
//Working with JSON var mybutton = document.getElementById('loadbutton'); mybutton.onclick = function() { var request; if (window.XMLHttpRequest) { request = new XMLHttpRequest(); } else { request = new ActiveXObject("Microsoft.XMLHTTP"); } request.open('GET', 'data.json'); request.onreadystatechange = function() { if ((request.readyState===4) && (request.status===200)) { var items = JSON.parse(request.responseText); var output = '<ul>'; for (var key in items) { output += '<li>' + items[key].name + '</li>'; } output += '</ul>'; document.getElementById('update').innerHTML = output; } } request.send(); } // loadAJAX