Frage: AJAX und das erstellen von neuen Elementen für ein Objekt

stewue

Grünschnabel
PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
<head>
    <title>jQuery</title>
    <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
    <script language="javascript" type="text/javascript" src="http://192.168.195.98/jQuery/Core/jquery-1.6.2.js"></script>
    <script language="javascript" type="text/javascript">
        a = new Object();
        a[0] = 'a';
        jQuery.ajax({
                url : 'index.php',
                type : 'POST',
                data : {},
                success : function(data_return)
                {
                    a[1] = 'b';                    
                }
            });
        for(var i in a)
        {
            alert('#'+i);
        }
    </script>
</head>
<body>
</body>
</html>

Wieso bekomme ich da nur die Ausgabe von "#0" und nicht noch von "#1"? Ich nehme an die Lösung ist ganz simpel, da kann mir sicher jemand helfen.

stewue
 
Der Klassiker. AJAX steht für ASYNCHRONOUS bla bla bla. Das heißt, die Funktion, die du bei "success:" angegeben hast wird irgendwann in der Zukunft ausgeführt (dann wenn eben der Server Antwortet). Deine Ausgabe wird aber sofort ausgeführt.
 
Zurück