Deutsch English

Posthandling mit Ajax, jQuery und PHP

Im heutigen Blog habe ich ein Beispiel für euch, über die
Verwendung von Ajax, jQuery und PHP um einen POST zu handeln.

HTML:

<form id="myForm">
       <label for="input">Eingabe</label>
       <input id="input" name="input" type="text" value="" />

       <input type="submit" value="Senden" />

</form>

 

JavaScript:

// Variable für req
var req;

// Binden an das Submit-Event des Formulars
$("#myForm").submit(function(event){

       event.preventDefault();

       // Abbrechen von ausstehenden Anfragen
       if (req) {
          req.abort();
       }

       var $form = $(this);

       // Felder selektieren und cachen
       var $inputs = $form.find("input, select, button, textarea");

       // Daten aus Formular serialisieren
       var serializedData = $form.serialize();

       // Inputs für die Dauer eines Ajax Request deaktivieren
       $inputs.prop("disabled", true);

       // Anfrage an form.php schicken
       req = $.ajax({
          url: "/form.php",
          type: "post",
          data: serializedData
       });

       // Callback-Handler für Erfolgsfall
       req.done(function (response, textStatus, jqXHR){
           console.log("Juhu, es hat funktioniert!");
       });

       // Callback-Handler für Fehlerfall
       req.fail(function (jqXHR, textStatus, errorThrown){
         console.error(
           "Folgender Fehler ist aufgetreten: "
           +textStatus, errorThrown
         );
       });

       // Callback-Handler der in jedem Fall aufgerufen wird
       req.always(function () {
            // Inputs reaktivieren
            $inputs.prop("disabled", false);
       });

});


PHP:

Zugriff auf die von Ajax geposteten Werte habt ihr
via der globalen Variable $_POST:
$bar = isset($_POST['bar']) ? $_POST['bar'] : null;