Response wird direkt im Template ausgegeben
Hallo Sioweb,
ich bin etwas ratlos bzgl. Contao und Ajax. Ich habe schon diverse Sachen mit Ajax ohne Contao programmiert, was immer ziemlich simpel funktioniert hat. Mit Contao funktioniert das aber leider nicht so.
Folgendes Ziel habe ich: Ich habe eine Extension entwickelt, die eine Member-Liste ausgibt. Bei jedem Member-Profil wird ein Link zu einer Website angezeigt. Diese Links sollen für eine Statistik gezählt werden. Bei Klick wird also ein Ajax-Request ausgeführt, der dann einen Counter in der Datenbank erhöht. Die aktuelle Zahl soll dann eigentlich per Ajax zurückgeliefert werden, einfach per echo.
Leider wird aber der Counter nicht an Ajax zurückgegeben, sondern einfach im Template ausgegeben?!
Ich habe Deine Vorlage dafür verwendet. Wenn ich allerdings z. B. das "die()" im PHP-Code angebe, wird das Template gar nicht erst ausgegeben, die Seite bleibt weiß. Wenn ich den Counter per "echo $counter" zurückliefern will, wird er einfach im Template ausgegeben, Ajax liefert eine "Fail".
Ich hatte mir dann ein anderes Beispiel als Vorlage genommen: https://blog.axxg.de/einfuehrung-aja...art/#more-2241. Das Beispiel ohne Contao umgesetzt funktioniert einwandfrei. In Contao eingebaut wieder dasselbe Problem. Der Response wird einfach ausgegeben.
Wo ist da der Denkfehler, bzw. wie gibt man die Werte innerhab eines Contao-Templates an Ajax zurück?
Würde mir sehr weiterhelfen. Danke schon mal!
Keine Fehler in der Konsole
Zitat:
Zitat von
Spooky
Dann sieh' dir doch einfach in der Entwicklerkonsole des Browsers an, was schief läuft.
In der Konsole werden nur "FAIL" und "ALWAYS" ausgegeben, sonst nichts.
Zitat:
Zitat von
Spooky
Was mir auffällit: du möchtest einen POST Request machen, schickst aber keinen Request Token mit. Sofern du den Request Token Check nicht deaktiviert hast, wird dir Contao hier einen Fehler werfen (und das solltest du eben in der Entwicklerkonsole des Browsers sehen).
Wie schickt man ein Requets Token? Habe ich bisher nie bei einer Extension gebraucht.