richtigen Werte hatte ich habe eine Funktion, die den höchsten Wert eines Attributs in einer XML-Datei, um den Wert zurückgibt unterJavascript-Funktion gibt immer einen falschen Wert, obwohl Variable vor
Der Rückgabewert ist immer 0, so dass ich denke, das Die JQuery-Funktion weiß nicht, was in ihr passiert. Hier ist die Funktion:
function findHighestValue(url,attr){
var highestValue = 0;
$.ajax({
type: "GET",
url: url,
dataType: "xml",
success: function(xml) {
$(xml).find("achievement").each(function(){
var value = $(this).find(attr).text();
value = value*1;//typecast
console.log("value: "+value);//shows correct value
console.log("highestValue in ajax: "+highestValue);//shows correct value
if (value >= highestValue){
highestValue = value;
console.log("Value higher highesValue detected!");//works as intended
}
});
}
});
console.log("Highest Value: "+highestValue);// is 0 again
return highestValue;//always returns 0
}
Ich habe meine Lektion gelernt, es macht völlig Sinn. Ich setze den Async auf false und jetzt funktioniert es wie geplant. Vielen Dank! – dan
@dan Ich rate jedoch davon ab, async auf false zu setzen, da dies den Browser einfriert, wenn Ihre Ajax-Anfrage lange dauert. Viel besser, die Callback-Funktion zu verwenden, um Ihre Logik auszuführen. –
Ich stimme zu, ich werde es beheben. – dan