ChrisB: Ajax testen ob Datei existiert problem

Beitrag lesen

Hi,

Versuche ich jedoch statt des "alert(...);" ein return zu setzen (wie in meinem Code kommentiert ZEILE 35) so gibt mir die Funktion immer ein "undefined" zurück.

Du machst einen *A*synchronen Request, also wird die Funktion mittels onreadystatechange aus dem linearen Ablauf des restlichen Scriptcodes herausgelöst später aufgerufen.
Und damit gibt es auch keine Stelle, "an die" du mittels return etwas zurückgeben könntest.
Deine Funktion file_exist endet, bevor der readystatehandler überhaupt zum Zuge kommt - und da sie selber keinen return-Wert liefert, bekommst du an der aufrufenden Stelle höchstens ein undefined, wenn du dort einen solche in Empfang zu nehmen versuchst.

Entweder stellst du deinen Request auf synchron um - das ist aber wenig empfehlenswert, weil du damit für die Laufzeit des Request den Client bildlich "lahmlegst";
oder du verarbeitest das Ergebnis bereits in deiner Handlerfunktion wie gewünscht, bzw. übergibst ihr auch noch eine Referenz auf eine weitere Funktion, die nach dem Eintrudeln des Ergebnisses aufgerufen werden soll, und die dann mit dem Ergebnis etwas machen kann.

MfG ChrisB

--
Light travels faster than sound - that's why most people appear bright until you hear them speak.