Updated: Form Serialization mit Ajax

An alle, die zuerst meinen alten Beitrag zur „Form Serialization mit Ajax“ gelesen haben: Es geht doch auch viel einfacher!!!

Verbesserungen

Anstatt das übersendbare Objekt per JavaScript manuell zusammenzusetzen, kann auch die Klasse  FormData() verwendet werden. Seit HTML5 ist dieses ein browserweit verfügbares JavaScript Objekt, das für genau einen WZeck entwickelt wurde: Elemente aus einem Formular per XmlHttpRequest zu verschicken. Unsere Implementierung ändert sich wie folgt:

Diese Umstellung hat außerdem zur Folge, dass wir im zweiten Controller nicht mehr manuell „submitten“ müssen, sondern stattdessen – wie gewohnt – die Methode handleRequest() verwenden können:

Fazit

Diese Form der Implementierung spart nicht nur Quellcode, sie ist zudem robuster! Die erste Form hatte leider keine Übertragung von  <input type="file"> Elementen erlaubt. Das  FormData() beherrscht diese sehr wohl! Die Verwendung von  handleRequest() ist außerdem sicherer, auch wenn wir den geklickten Button manuell eingeben.

Kurzum: Diese Methode sollte definitiv gegenüber der anderen Variante verwendet werden!

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.