Ajax und Extbase: eID oder Page Type nutzen?

Mit dem eID Mechanismus und einem separetem PageType stehen zwei unterschiedliche Methoden für AjaxCalls zur Verfügung. Beide haben ein ähnliches Funktionsprinzip, unterscheiden sich aber deutlich in Details.

 

UPDATE Okt. 2015:
Aus aktueller Sicht kann ich einen Ajax Aufruf per Dispatcher nicht mehr empfehlen. Die genutzten Core Funktionen waren teilweise klar als "private" gekennzeichnet und können bzw. haben sich in den verschiedenen TYPO3 Versionen im Aufruf unterschieden.

Da sowohl der standard Form ViewHelper als auch der Link ViewHelper den PageType native unterstützen macht es für mich persönlich keinen Sinn einen  eId Dispatcher zu verwenden. Den ursprünglichen Dispatcher findet ihr hier, allerdings "as it is" - zuletzt lief der Code in 6.2.15 bei mir ...

Weitere Artikel zu Ajax und Extbase findet ihr in den nächsten Tagen hier:

- Ajax Calls mit pageType
- Formulare mit Ajax versdenden

 

Da ich vielen Zuschriften entnehmen kann, das die grundlegenden Zusammenhänge von Ajax Calls nicht wirklich klar sind, hier eine Übersicht:


Der prinzipielle Ablauf von Ajax requests

1. Der User löst auf der Seite eine Aktion aus, das kann zum Beispiel ein click event sein oder ein Formular absenden.

2. In jQuery wird der Ajax request aufgebaut. Wenn Ihr z.B. mit dem Fluid ViewHelper eine link.action mit Page Type Parameter aufbaut, könnt ihr in jQuery den kompletten Link aus dem Template auslesen.

3. Die angesprochene Extbase Controller Funktion liefert die gewünschten Daten. Das Datenformat ist abhängig davon, was Ihr im Ajax PageType für einen Content-type angebt (json, xml, html). Demensprechend müsst Ihr die Rückgabe codieren.

4. In der Ajax callback Funktion innerhalb von jQuery bekommt Ihr die Daten geliefert und könnt damit den view manipulieren.

5. Danach sind die angeforderten Daten im Frontend sichtbar.


Um also Ajax requests mit pageType aufzurufen sind folgende Dinge erforderlich:

- Definition des PageTypes
- ControllerAction mit entsprechender Rückgabe (json, xml, view)
- jQuery mit Ajax Funktion

Weitere Artikel zu diesem Thema:

Empfehlenswerte Lektüre:

jQuery: Das Praxisbuch

Ein Arbeitsbuch mit vielen Praxisbeispielen und Hintergrundwissen zu jQuery, jQuery mobile und UI. In einer kurzen Einleitung werden die Basics für Einsteiger erklärt, danach ist das Buch aber für Newbies und Profils gleichermaßen interessant - eine echte Empfehlung für den Alltag.

Kommentare

keine Kommentare vorhanden


Kommentar verfassen

Die Email Adresse wird nicht veröffentlicht.