Ich versuche, die API-Daten von einer Website herunterzuladen und anzuzeigen. Hier ist der Code, den ich gerade verwende:Wie können Daten aus einer API extrahiert und angezeigt werden?
function loadJSON(file, callback) {
var xobj = new XMLHttpRequest();
xobj.overrideMimeType("application/json");
xobj.open('GET', file, true);
xobj.onreadystatechange = function() {
if (xobj.readyState == 4 && xobj.status == "200") {
callback(xobj.responseText);
}
};
xobj.send(null);
}
var outerSpace;
loadJSON("http://api.open-notify.org/astros.json", gotData);
function gotData(data) {
outerSpace = data;
}
if (outerSpace) {
console.log(outerSpace.people.name);
}
Dies ist die vollständige API (nicht viel).
{
"number": 3,
"message": "success",
"people": [
{
"name": "Peggy Whitson",
"craft": "ISS"
},
{
"name": "Fyodor Yurchikhin",
"craft": "ISS"
},
{
"name": "Jack Fischer",
"craft": "ISS"
}
]
}
Sollte nicht console.log Ausgabe "Peggy Whitson"? Ich bekomme keine Fehlermeldungen, aber die Konsole empfängt keine Nachrichten. Wenn mir jemand helfen könnte, eine Lösung zu finden, würde ich es sehr zu schätzen wissen. Vielen Dank!
erste, entfernen Sie die if-Anweisung, so dass Sie sehen können, wenn Sie ein 404 oder 500 Fehler vom Server erhalten: [if (xobj.readyState == 4 && xobj.status == "200") { Rückruf (xobj.responseText); }] – Abiezer
Auch 'people' ist ein Array, also kann man' people.name' nicht direkt aufrufen. Verwende 'outerSpace.people [0] .name', um den Vornamen zu erhalten. –
@Abiezer keine Fehlermeldung. –