asynchronous callback
by ncox85
HTML
<div id="primary">
</div>
JavaScript
function todaysDate(){
var date = '';
var today = new Date();
var dd = today.getDate();
var mm = today.getMonth()+1; //January is 0!
var yyyy = today.getFullYear();
if(dd<10) {
dd='0'+dd
}
if(mm<10) {
mm='0'+mm
}
date = yyyy+'-'+mm+'-'+dd;
return date;
}
function oneYearDate(){
var futureDate = '';
var today = new Date();
var dd = today.getDate();
var mm = today.getMonth()+1; //January is 0!
var yyyy = today.getFullYear();
if(dd<10) {
dd='0'+dd
}
if(mm<10) {
mm='0'+mm
}
futureDate = yyyy+1+'-'+mm+'-'+dd;
return futureDate;
}
function data(callback){
var url = 'https://launchlibrary.net/1.2/launch/' + todaysDate() + '/' + oneYearDate() + '/mode=verbose?callback=launchDisplay';
var request = new XMLHttpRequest();
request.onreadystatechange = function() {
if (request.readyState === 4) {
if (request.status === 200) {
document.body.className = 'ok';
callback(request.responseText);
} else {
document.body.className = 'error';
}
}
};
request.open("GET", url , true);
request.send(null);
}
function launchDisplay(data){
//Gather and store relevant data
data = JSON.parse(data);
var rocketName = [];
for(i = 0; i < data.launches.length; i++){
rocketName.push(data.launches[i].rocket.name);
}
console.log(rocketName);
var paragraph = document.createElement("p");
document.getElementById("primary").appendChild(paragraph).innerHTML = rocketName[1];
}
data(launchDisplay);