Ich habe die folgende Funktion. Wenn ich versuche, die Variable zu protokollieren, gibt es mich undefiniert. Ich denke, es liegt an der Ladezeit des AJAX-GET-Anrufs, aber ich weiß nicht, wie ich es beheben soll.Javascript undefinierte Variable wegen AJAX GET Anfrage
EDIT: Ja, alle Werte sind korrekt. Die Datei console.log protokolliert den korrekten Wert, sodass alles in der Funktion funktioniert. Es ist nur die Rückkehr, die nicht funktioniert.
Irgendwelche Ideen?
function loadOnderhoud() {
var username = window.sessionStorage.getItem("huidigeGebruiker");
var url = "restservices/gebruiker?Q1=" + username;
$.ajax({
url : url,
method : "GET",
beforeSend : function(xhr) {
var token = window.sessionStorage.getItem("sessionToken");
xhr.setRequestHeader('Authorization', 'Bearer ' + token);
},
success : function(data) {
var onderhoud;
$(data).each(function (index) {
if (this.geslacht == "m"){
onderhoud = (66 + (13.7 * this.gewicht) + (5 * (this.lengte*100)) - (6.8 * this.leeftijd)) * this.activiteit;
}
else if (this.geslacht == "v"){
onderhoud = (655 + (9.6 * this.gewicht) + (1.8 * (this.lengte*100)) - (4.7 * this.leeftijd)) * this.activiteit;
}
});
console.log(onderhoud);
return onderhoud;
},
});
}
function loadAdviezen(){
var onderhoud = loadOnderhoud();
}
Erfolg führt nur abgeschlossen. – SabirAmeen
Sind Sie sicher, dass Ihre Antwort die richtigen Werte zurückgibt? –
Wahrscheinlich passt 'this.geslacht' weder zu' m' noch zu 'v' ... – Fr0zenFyr