Week 10&11
Task 3user_1373341
html
2 years ago
2.7 kB
11
Indexable
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Task 3</title> </head> <body> <button onclick="makeAjaxQuery()">Search Airport</button> <br/> <br/> <div id="display"></div> <script type="text/javascript"> function makeAjaxQuery() { // create an XMLHttpRequest var xhttp = new XMLHttpRequest(); // create a handler for the readyState change xhttp.onreadystatechange = function() { readyStateChangeHandler(xhttp); }; // get JSON file by making async call xhttp.open("GET", "airport.json", true); xhttp.send(); } // handler for the readyState change function readyStateChangeHandler(xhttp) { if (xhttp.readyState == 4) { // readyState = 4 means DONE if (xhttp.status == 200) { // status = 200 means OK handleStatusSuccess(xhttp); } else { // status is NOT OK handleStatusFailure(xhttp); } } } // XMLHttpRequest failed function handleStatusFailure(xhttp) { // display error message var display = document.getElementById("display"); display.innerHTML = "XMLHttpRequest failed: status " + xhttp.status; } // XMLHttpRequest success function handleStatusSuccess(xhttp) { var jsonText = xhttp.responseText; // parse the json into an object var airportObj = JSON.parse(jsonText); // display the object on the page displayAirport(airportObj); } function displayAirport(airportObj) { // show the constructed HTML code in the display div var display = document.getElementById("display"); // construct HTML code to display weather information console.log(airportObj); var html = ""; html += "<b>Search Query: </b>" + airportObj.searchQuery + "<br/><br/>"; html += "<table border='1'>"; html += "<tr><th>Airport</th><th>ICAO</th><th>IATA</th><th>Location</th></tr>"; for(var i=0; i < airportObj.searchResult.length; i++){ var searchObj = airportObj.searchResult[i]; html += "<tr>"; html += "<td>" + searchObj.airportName + "</td>"; html += "<td>" + searchObj.ICAO + "</td>"; html += "<td>" + searchObj.IATA + "</td>"; html += "<td>" + searchObj.city + ", " + searchObj.country + "</td>"; html += "</tr>"; } display.innerHTML = html; } </script> </body> </html>
Editor is loading...