Ajax?! Ich verstehe das nicht...

  • Heyho :)
    Um die Funktionalität und Dynamik der Cloud zu steigern sollte ich auf jeden Fall Ajax verwenden. Ich muss zwei Möglichkeiten eröffnen. Das eine ist so wie ich es jetzt habe. Das andere ist die Möglichkeit mit Ajax.


    Forumsbeitrag: Ajax - Ich verstehe es nicht…


    Hey Leute,
    um die Dynamik meines Projekts zu steigern, dachte ich mir, dass Ajax perfekt geeignet ist. Aber es gibt ein Problem. Ich verstehe Ajax überhaupt nicht. Ich bin ehrlich: ich habe schon ganze 3 Tutorials durchgearbeitet und immer verstehe ich nur. Ich dachte irgendwie, es geht leichter aber jetzt habe ich sogar schon Kopfschmerzen deswegen -.-
    Für mich bedeutet Ajax, PHP-Skripte im Hintergrund ausführen. Stimmt das nun oder nicht?! Ich meine, wenn man zum Beispiel den Submit-Button drückt, dann wird nicht die Seite neu geladen sondern im Hintergrund wird einfach die Auswertung des Formulars durchgeführt. Aber wie stelle ich so etwas einfaches an?


    Zum Üben wollte ich eine einfache Formularaufgabe lösen. Der User gibt seinen Vornamen und Nachnamen ein und nachher sollen diese beiden Daten ausgegeben werden. Die HTML-Struktur ist außer des action-Attributes simpel:


    Code
    <form method="post" action="">
    	<input type="text" name="vorname" value="Vorname" />
    	<input type="text" name="nachname" value="Nachname" />
    	<input type="submit" name="submit" value="abschicken" />
    </form>


    Der PHP ist mir natürlich auch ganz klar:

    Code
    <span class="syntaxhtml"><br /><span class="syntaxdefault"><?php<br />    if</span><span class="syntaxkeyword">(isset(</span><span class="syntaxdefault">$_POST</span><span class="syntaxkeyword">[</span><span class="syntaxstring">"submit"</span><span class="syntaxkeyword">]))</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault">        echo </span><span class="syntaxstring">"Sie heißen "</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">$_POST</span><span class="syntaxkeyword">[</span><span class="syntaxstring">"vorname"</span><span class="syntaxkeyword">].</span><span class="syntaxstring">" "</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">$_POST</span><span class="syntaxkeyword">[</span><span class="syntaxstring">"nachname"</span><span class="syntaxkeyword">].</span><span class="syntaxstring">"."</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">    </span><span class="syntaxkeyword">}<br /></span><span class="syntaxdefault">?><br /></span></span>


    So und wie bringe ich da jetzt Ajax rein? Es wäre echt nett, wenn jemand sich die Mühe machen würde und versuchen würde mir das zu erklären. Tut mir echt leid, ich verstehe es einfach nicht…


    Mit freundlichen Grüßen,
    Philipp E.

  • Zum Thema kann man dir wenig erzählen, du musst schon irgendwie auf die Website gelangen um es dir angucken zu können, wir erklären hier für gewöhnlich keine ganzen Themen sondern unterstützen bei Problemen mit bereits bestehendem Code.


    Es ist fast unmöglich dich hier mal eben zwischendurch über Ajax zu informieren, aber deine Frage kann ich beantworten:


    Mit der Ajax Methode sendet JavaScript Post oder Get Variablen an den Server ohne die gesamte Seite neu laden zu müssen.

  • Also, eine einfach Ajaxanwendung ist so aufgebaut: (Den Code habe ich eben netterweise von Basiii geschickt bekommen)


    1. Ich erstelle einen Request. Hier muss ich zwischen Chrome, Firefox... und Internet Explorer unterscheiden:


    Nun kann ich auf diesen Request mit request (Variable) zugreifen...


    2. Dann kann ich überprüfen, ob der Request erzeugt wurde.

    Code
    if (!request) {
             alert("Kann keine XMLHTTP-Instanz erzeugen");
             return false;
          } else { ... }


    Nun weiß, ich dass der Request erfolgreich erstellt wurde.


    3. Dann öffne und sende ich den Request:


    Im Prinzip wird dann die Datei ajax_004.php mit der POST Variable name aufgerufen oder? Wenn man GET machen würde, dann wäre das ajax_004.php?name=...


    Ich hoffe mal, das stimmt soweit :)


    4. Dann empfange ich den Request und werte ihn aus:


    Ist das jetzt alles soweit richtig? Dann hätte ich nämlich einigermaßen verstanden ((((:

  • Mein Beispiel mit Ajax:


    Ich habe jetzt mal versucht, mein Beispiel mit Ajax umzusetzen. Doch natürlich habe ich es nicht ganz geschafft :/
    So sieht die HTML-Datei aus:



    Die Datei ajax2.php sieht so aus:


    Wie ihr sehen könnt, werden die Daten in ajax2.php nur in eine Tabelle geschrieben. Je nach Erfolg oder Fehler habe ich die Variable $error gefüllt. Doch wie kann ich diesen nun in ajax2.HTML ausgeben lassen?!


    Wäre echt nett, wenn ihr mir das noch erklären könntet (((:

  • @Basiii: Jo, das habe ich ergänzt :) Ist auch verständlich. Aber wie mache ich den Rest?!


    EDIT - 22.01.2012 21:00 Uhr


    So, ich habe jetzt mal selber versucht, die Variable $result auszugeben. Dazu habe ich im PHP-Dokument einfach

    Code
    <span class="syntaxdefault"><br />echo $error</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault"> </span>


    hinzugefügt. Und die Funktion interpretRequest() sieht nun so aus:


    Aber da kommt immer null raus. Was mache ich falsch?!

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!