J'ai la fonction suivante. Quand j'essaye d'enregistrer le varible, cela me donne un indéfini. Je pense que c'est à cause du temps de chargement de l'appel AJAX GET, mais je ne sais pas comment le réparer.Javascript variable non définie à cause de la requête AJAX GET
EDIT: Oui, toutes les valeurs sont correctes. Le fichier console.log enregistre la valeur correcte, de sorte que tout fonctionne dans la fonction. C'est juste le retour qui ne fonctionne pas.
Des idées?
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();
}
succès exécute une seule fois la demande ajax est terminé. – SabirAmeen
Êtes-vous sûr que votre réponse renvoie les valeurs correctes? –
Probablement 'this.geslacht' ne correspond pas non plus' m' ou 'v' ... – Fr0zenFyr