Regina Schaukrug: Function und return

Beitrag lesen

Was ich nicht verstehe ist Dein seltsamer Mix aus jQuery ($(document).ready(function()) und Vanilla-Js.

Wenn Du meinst jQuery benutzen zu müssen, dann nutze es auch durchgehend. Oder aber Du lässt es (jQuery) ganz. Der Mix ist in etwa wie erst die Blätter in einen Stapel Papier sorgfältig der Reihe nach zu sortieren und zu nummerieren um den kompletten Stapel danach sofort komplett zu schreddern.

wenn ich bei "return this.responseText;" ein alert mache bekomme ich das Ergebnis was ich brauche, ich möchte es aber bei der Funktion "keyup" weiter verarbeiten. Kann mir da jemand helfen?

Du musst verstehen, dass der XMLHttpRequest() asyncron arbeitet. Das bedeutet, Du kannst das Ergebnis nicht in der aufrufenden Funktion keyup weiter verarbeiten sondern musst die mit der Antwort auszuführende(n) Aktion(en) statt des alert( this.responseText ); notieren:

  xhr.onreadystatechange = function() {
    if( this.readyState == 4 && this.status == 200 ) {

      // Hier ALLES notieren, was zu tun ist
      alert( this.responseText );

    }
  };

Der Interpreter kehrt schon zu keyup zurück, nachdem der Request in Auftrag gegeben wurde. Also bevor die Antwort überhaupt vorliegt.

"Vanilla-Js" ist Javascript ohne Benutzung von Funktions- und/oder Objekt-Bibliotheken oder "Frameworks" wie jQuery & Co.