Wenn das so aussieht, ist es relativ einfach: Die URL brauchst Du nicht als Parameter. Statt direkt die API-URL zu lesen, ruft Du ein PHP-Skript auf deinem Server auf:
function getThem(selHeader, selSection/*, url*/) {
function populateHeader(jsonObj) {
var myH1 = document.createElement('h1');
myH1.textContent = jsonObj['squadName'];
header.appendChild(myH1);
var myPara = document.createElement('p');
myPara.textContent = '' + jsonObj.result.test
header.appendChild(myPara);
}
var header = document.querySelector(selHeader);
var section = document.querySelector(selSection);
// var requestURL = url;
var request = new XMLHttpRequest();
// Anstatt die API direkt zu lesen, rufen wir ein
// PHP-Skript auf dem eigenen Server auf
//request.open('GET', requestURL);
request.open('GET', 'getdata.php');
request.responseType = 'json';
request.send();
request.onload = function () {
var superHeroes = request.response;
populateHeader(superHeroes);
// showHeroes(superHeroes);
}
}
getThem('#api', 'section'/*, 'apikeyhier'*/)
</script>
Alles anzeigen
getdata.php:
<?php
$theurl ='die-url-der-API-mit-key';
// die API auslesen
$response = file_get_contents($theurl);
// und den Inhalt ausgeben
echo $response;
// ginge auch mit einem Einzeiler,
// aber so ist es IMO übersichtlicher
?>
Die URL mit dem Key steht jetzt nur noch im PHP-Skript und das ist im Browser nicht sichtbar.
Ungestestet aber ich bin relativ sicher, dass es so funktionieren wird.