我有以下功能。當我嘗試登錄該變量時,它給了我未定義的內容。我想這是因爲來自AJAX GET調用的加載時間,但我不知道如何修復它。由於AJAX GET請求,Javascript未定義變量
編輯:是的,所有的值都是正確的。 console.log記錄正確的值,因此函數中的所有內容都可以正常工作。這只是回報不起作用。
任何想法?
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();
}
成功只執行一次Ajax請求完成了。 – SabirAmeen
你確定你的回答是否返回了正確的值? –
大概'this.geslacht'不匹配'm'或'v' ... – Fr0zenFyr