Andreas B.: Daten per Ajax übertragen

Hallo,

ich möchte meine Daten per Ajax übertragen. Hab mir im Internet ein Tutorial angesehen, welches von 2013 stammt. Meine Frage ist es noch Zeitgemäß Daten so zu übertragen ob gibt es schon bessere Varianten?

$('#call_back_btn').click(function() {

   $.post ("senden.php", {
                        
             name:  $('#input_name').val(),
             alter: $('#input_alter').val()
                    
           }, function(data) { 
                 $('#responseText').val(data);
              }
   );
});

Die Daten sollen in der senden.php in eine MySQL Datenbank eingetragen werden.

Dieses Video habe ich mir dazu angesehen:
AJAX Tutorial - Intro to Using jQuery's Ajax $.post Request - Part 1

  1. Tach!

    ich möchte meine Daten per Ajax übertragen. Hab mir im Internet ein Tutorial angesehen, welches von 2013 stammt. Meine Frage ist es noch Zeitgemäß Daten so zu übertragen ob gibt es schon bessere Varianten?

    Nein, grundsätzlich ist das immer noch der aktuelle Weg, wie man sowas im Allgemeinen erledigt. Die Frage ist nur, ob der Anwendungsfall unbedingt Javascript erfordert oder ob man nicht auch gleich herkömmlich arbeiten kann (sprich einfaches Formular) oder das als Grundlage implementiert und das Ajax obendraufsetzt.

    dedlfix.

  2. Wenn Du mehr als nur einen Wert übertragen willst, musst Du die Daten serialisieren. Gewöhnlich werden zum Senden Schlüssel-Werte-Paare strukturiert wie folgt:

    foo=1;bar=2;a=1;a=2;a=3 (oder & statt ;)

    Wobei mehrere gleichnamige Schlüssel dann ein Array für die Werte ergeben.

    $daten = { 
       foo => 1,
       bar => 2,
         a => [1,2,3]
    };
    

    Dazu kommt noch das Percent-Encoding und selbstverständlich können solche Sequenzen nicht nur gesendet sondern auch empfangen werden. Desweiteren gips JSON, XML u.a. Verfahren zum Serialisieren.

    Je nach Fall genügen jedoch auch Einzelwerte, hier z.B. steht in der Response die Nummer für die neu erstellte Nachricht, so dass die Callbackfunktion gleich darauf umleitet. Im Fehlerfall ist die Response jedoch keine Nummer, sondern Text, so dass die Callbackfunktion ein popup heckt (einfache Fallunterscheidung in der Callbackfunktion).

    Fazit: Über Deinen spezillen Fall wirst Du entscheiden, welche Art der Serialisierung in Verbindung mit der gewählten Request-Methode zweckmäßig ist.

    Schüne Größe.

    1. Tach!

      Wenn Du mehr als nur einen Wert übertragen willst, musst Du die Daten serialisieren.

      Der OP verwendet die Ajax-Komponente von jQuery. Die erledigt das Serialisieren und Kodieren bereits in bester Art und Weise.

      Fazit: Über Deinen spezillen Fall wirst Du entscheiden, welche Art der Serialisierung in Verbindung mit der gewählten Request-Methode zweckmäßig ist.

      Solange der Standardweg problemlos funktioniert, ist es müßig, über alternative Vorgehensweisen nachzudenken.

      dedlfix.

  3. Dieses Video habe ich mir dazu angesehen:
    AJAX Tutorial - Intro to Using jQuery's Ajax $.post Request - Part 1

    Grausam. Da bleiben ja die Grundlagen total auf der Strecke. Und dieses Hin-undhergezappe, der weiß wahrscheinlich selber gar nicht was er da macht. Einmal POST und dann Parameter im Query-String und wozu es eine document.ready() für diesen AnwendungsFall geben muss, die Frage bleibt offen.

    Meine Empfehlung: Auf dieses Tutorial kannst Du getrost verzichten. Erarbeite Dir selbst die Grundlagen, Stück für Stück. Zunächst die Übertragung einzelner Werte, später die Serialisierung in Parameter-Strings. Und die Unterschiede zwischen verschiedenen Request-Methoden. Verstehe JQuery so, als dass JQuery Deinen Code vereinfacht und unterschiedliches Verhalten von Browsern ausgleichen kann.

    Für erste Schritte jedoch verwende nicht JQuery.

    1. Hier erkläre ich Dir Ajax auf einer DIN-A4-Seite.