Hallo!
Ich habe mich gerade ein wenig mit AJAX beschäftigt. Jetzt habe ich eine Funktion geschrieben, die mithilfe der SAJAX-Bibliothek Werte vom Server holt. Das ganze dauert natürlich ein wenig.
Die Funktion sieht schematisch dargestellt etwa so aus:
Wie ich schon im Quelltext angegeben habe, gibt das zweite Alert, das außerhalb der Funktion liegt 'undefined' aus. Ich nehme an, dass das daran liegt, dass das holen der Werte kurze Zeit in Anspruch nimmt und der Javascript-Interpreter einfach schonmal weiter macht. Dadurch wurde der Wert noch nicht zurückgegeben und 'wert' ist 'undefined'. Kann man den Interpreter zwingen mit dem fortfahren zu warten, bis die Funktion etwas zurück gibt??
Edit: Kann es daran liegen, dass sich die Funktion rekursiv noch ein zweites Mal ausführt, bevor sie etwas zurück gibt?
Ich habe mich gerade ein wenig mit AJAX beschäftigt. Jetzt habe ich eine Funktion geschrieben, die mithilfe der SAJAX-Bibliothek Werte vom Server holt. Das ganze dauert natürlich ein wenig.
Die Funktion sieht schematisch dargestellt etwa so aus:
PHP-Code:
function hole_wert () {
//Der Code, der den Wert vom Server holt
var wert = Der geholte Wert;
window.alert (wert); //--> gibt den richtigen Wert aus
return (wert);
}
wert = hole_wert();
window.alert (wert); //--> gibt 'undefined' aus
Edit: Kann es daran liegen, dass sich die Funktion rekursiv noch ein zweites Mal ausführt, bevor sie etwas zurück gibt?
Kommentar