Ich benutze AJAX GET, um eine lokale JSON-Datei zu bekommen, und es tut das, aber wenn ich versuche, es zurückzugeben, sagt es undefined.AJAX gibt kein Objekt zurück
ScoreHandler = function() {
this.getScores = function() {
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
var data = JSON.parse(this.responseText);
//This logs object
console.log(data);
return data;
}
};
xmlhttp.open("GET", "JSON/Scores.json", true);
xmlhttp.send();
};
};
HighScores = function (scoreHandler) {
var scoreHandler = scoreHandler;
var scores = this.scoreHandler.getScores();
//This logs undefined
console.log(scores);
}
Sie keine Daten von einem 'async' zurückrufen kann. Verwenden Sie stattdessen 'callbakcs', um diese Antwort zu verwenden. –
können Sie ein Versprechen verwenden? –
undefiniert, weil es asynchron gehandhabt wird. Es wird also einige Zeit brauchen, um die Daten zurückzugeben. – Ninjaneer