Ajax-Beispiel verstehen

Karli1969

New member
Hallo zusammen,

könnte mir jemand ein Stück Code erklären, das ich hier AJAX Einführung direkt anhand eines Beispiels raus kopiert habe? Habe den Code noch mal unten angehangen, damit ihr nicht die Seite wechseln müsst.

Insbesondere verstehe ich nicht, warum diese Zeile hier:

xmlhttp.onreadystatechange=function()....

VOR

diesen hier

xmlhttp.open("GET","kennworttesten.php?q="+inhalt,true);

stehen kann.

Wie kann der Status einer Verbindung getestet werden, wenn die Verbindung noch gar nicht aufgebaut wurde?

Danke für Eure Erklärungen und viele Grüße
Karl


HTML:
function testekennwortqualitaet(inhalt)
{
    if (inhalt=="")
    {
        document.getElementById("sicherheitshinweise").innerHTML="keine Eingabe da";
        return;
    }
    if (window.XMLHttpRequest)
    {
        // AJAX nutzen mit IE7+, Chrome, Firefox, Safari, Opera
        xmlhttp=new XMLHttpRequest();
    }
    else
    {
        // AJAX mit IE6, IE5
        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.onreadystatechange=function()
    {
        if (xmlhttp.readyState==4 && xmlhttp.status==200)
        {
            document.getElementById("sicherheitshinweise").innerHTML=xmlhttp.responseText;
        }
    }
    xmlhttp.open("GET","kennworttesten.php?q="+inhalt,true);
    xmlhttp.send();
}
</script>
 
Zuletzt bearbeitet von einem Moderator:
Wie kann der Status einer Verbindung getestet werden, wenn die Verbindung noch gar nicht aufgebaut wurde?

Das funktioniert, weil es lediglich die definition des event handlers ist. Der Test wird erst ausgeführt, wenn das event auftritt.

Bei button.onclick = function { … }; ist es doch genauso, du definierst den Handler lange bevor der click geschieht.
 
Ach so ist das. Dachte, das wird nacheinander alles abgearbeitet. Danke für die Antwort!!!

Wie kann man solche Eventhandler-Funktionen allgemein erkennen? Immer, wenn sie mit"on" beginnen?
 
Dachte, das wird nacheinander alles abgearbeitet.
Asynchrounous Javascript And Xml, hust, hust …

Wie kann man solche Eventhandler-Funktionen allgemein erkennen? Immer, wenn sie mit "on" beginnen?
jein.

die 'onevent' properties haben sich aus den 'onevent'-HTML-Attributen entwickelt. Verläßlich sind sie anber nur in Browsern.

dann gibt es die Event-Listener (sinnvolles event handling), was nach DOM über die addEventListener() Methoden definiert wird. (IE wollte was eigenes durchsetzen und hat attachEvent() benutzt, ist inzwischen aber auch bei den DOM-Listenern gelandet)

Fast alles serverseitige JavaScript nutzt on() um Event-Listener zu definieren. (wurde WIMRE von jQuery das erste Mal benutzt)

Und zu guter Letzt, JavaScript selbst (als Sprache) definiert gar keine Events/Event-Handler, das macht alles das JS-Environment selbst.
 
Zurück
Oben