Hi, ich versuche gerade zum ersten mal SimpleAjax mit Contao4 zu benutzen und scheitere leider. Ich habe ein Backendmodul, das mir Uploads von Teilnehmer in einer Liste anzeigt und möchte gerne eine Filterfunktion per Ajax umsetzen.
Vorgegangen bin ich nach dieser Anleitung: https://github.com/richardhj/contao-simple-ajax
Irgendwie krieg ichs nicht hin die Geschichte auszulösen. Aber das mit dem EventListener hab ich ehrlich gesagt nicht so ganz verstanden. Kann mir jemand weiterhelfen? Ich bekomme immer in der Console nen 404 für SimpleAjax.php. Vermutlich wird das wohl nicht mehr so aufgerufen wie in Contao 3.5.x?
Installiert habe ich nach Anleitung die Erweiterungen:
contao-community-alliance/event-dispatcher
richardhj/contao-simple-ajax
Hier mein Code:
meinmodul/config/config.php:
Code:
$GLOBALS['TL_HOOKS']['simpleAjax'][] = array('ModuleTeilnehmerUploads', 'filterUploads');
meinmodul/config/event_listeners.php:
Code:
return array(
'SimpleAjax\Event\SimpleAjax' => array(
array('ModuleTeilnehmerUploads', 'filterUploads')
),
);
meinmodul/modules/ModuleTeilnehmerUploads.php:
Code:
class ModuleTeilnehmerUploads {
..
public function filterUploads(\SimpleAjax\Event\SimpleAjax $event)
{
if ('teilnehmer-uploads' !== \Input::get('acid'))
{
return;
}
$return = ['foo', 'bar', 'foobar'];
$response = new \Symfony\Component\HttpFoundation\JsonResponse($return);
$event->setResponse($response);
}
}
JS:
Code:
$.ajax({
type: "GET",
dataType: "html",
url: "SimpleAjax.php,
acid: "teilnehmer-uploads",
success: function(ret){
console.log("Success! " + ret);
},
error: function(request, status, error){
console.log(error);
},
});
Danke im Voraus!
Lesezeichen