Seite 2 von 2 ErsteErste 12
Ergebnis 41 bis 58 von 58

Thema: AJAX im Frontend?

  1. #41
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Vienna, Austria
    Beiträge
    22.576
    Partner-ID
    10107
    User beschenken
    Wunschliste

    Standard

    Du kannst dich auch an die Basis Anleitung aus der Dokumentation halten: https://docs.contao.org/dev/getting-...g-development/

  2. #42
    Contao-Nutzer Avatar von mucona-media
    Registriert seit
    19.10.2011.
    Beiträge
    30

    Standard

    Also im Browser funktioniert nun alles, allerdings habe ich die Route als Endpoint konfiguriert. Wenn ich einen Webhook darauf ausführe bekomme ich letzt leider einen 400er Bad Request Error
    PHP-Code:
    <?php
    // src/Controller/DefaultController.php
    class DefaultController extends Controller
    {
        private 
    $db;

        public function 
    __construct(Connection $db)
        {
            
    $this->db $db;
        }
        public function 
    __invoke(Request $request)
        {
            
    $response = new Response(
                
    'Sample Response.'
            
    );
            return 
    $response;
        }
    }
    ?>
    Vorher hatte ich es als Annotation konfiguriert, da hat es funktioniert
    PHP-Code:
    <?
        /**
         * @Route("/stripe")
         *
         * @return JsonResponse
         */
        public function stripeAction()
        {
            echo 'demoresponse';
        }
    ?>
    Woran kann das nur liegen?
    Geändert von Spooky (14.11.2019 um 15:23 Uhr)

  3. #43
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Vienna, Austria
    Beiträge
    22.576
    Partner-ID
    10107
    User beschenken
    Wunschliste

    Standard

    Moderation: PHP code bitte in [php] Tags posten.

    Generell: sieh dir mal den PSR-1 Standard an. Du solltest keine PHP Closing Tags in PHP Dateien verwenden. Und auch keine PHP Short Open Tags ("<?").

  4. #44
    Contao-Nutzer Avatar von mucona-media
    Registriert seit
    19.10.2011.
    Beiträge
    30

    Standard

    Hey Spooky,
    danke für den Hinweis, ich geh den PSR-1 Guide durch.
    Ich hab den Code nur für den Post in <? ?> gekapselt und nur Stücken reinkopiert, der "Echte Code" ist Standardkonform und benutzt ja auch namespaces und uses
    Es hat übrigens jetzt auch geklappt, indem ich die Annotation wieder eingebaut habe.
    Vielen Dank für deine Mühe!

  5. #45
    Contao-Nutzer
    Registriert seit
    06.11.2009.
    Beiträge
    119

    Standard JS

    Und wie bekommt man "Hello World" nun per JS auf den Bildschirm gezaubert? Wenn ich z. B. eine Frontend-Modul "Eigener HTML-Code" unter Themes anlege, müsste ich das doch nun irgendwie auf den Screen kriegen?

    PHP-Code:
    // src/Controller/DefaultController.php

    namespace App\Controller;

    use 
    Symfony\Component\Routing\Annotation\Route;
    use 
    Symfony\Component\HttpFoundation\JsonResponse;

    class 
    DefaultController
    {
        
    /**
         * @Route("/ajax")
         *
         * @return JsonResponse
         */
        
    public function ajaxAction()
        {
            return new 
    JsonResponse(['Hello World!']);
        }

    Geändert von Sitting Bull (16.01.2020 um 09:45 Uhr)

  6. #46
    Contao-Nutzer
    Registriert seit
    06.11.2009.
    Beiträge
    119

    HTML

    Niemand eine Idee?

    Irgendwie fehlt mir hier nur der zündende Funke. Ist doch eigentlich bestimmt ganz einfach?

    Danke im Voraus für helfende Tipps!

  7. #47
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Vienna, Austria
    Beiträge
    22.576
    Partner-ID
    10107
    User beschenken
    Wunschliste

    Standard

    Ich verstehe die Frage nicht ganz. Wo genau brauchst du Hilfe?

  8. #48
    Contao-Nutzer
    Registriert seit
    06.11.2009.
    Beiträge
    119

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Ich verstehe die Frage nicht ganz. Wo genau brauchst du Hilfe?
    Hi Spooky,

    ich muss doch irgendwo im Frontend-Template den Ajax-Aufruf machen und dann die Antwort auswerten, also quasi ein JS-Script, so wie hier z. B.

    Code:
    $.ajax({
            url: "php/getInfo.php",
            data: {name: "AxxG", id: event.target.id},
            datatype: "json",
            type: "POST",
            success: function(data) { clickJStoPHPResponse(data); }
       });
    Was wäre z. B. die richtige URL?

  9. #49
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Vienna, Austria
    Beiträge
    22.576
    Partner-ID
    10107
    User beschenken
    Wunschliste

    Standard

    Die URL weißt nur du selbst. In dem von dir gepostet Code hast du folgende Route eingestellt:
    Code:
    @Route("/ajax")

  10. #50
    Contao-Nutzer
    Registriert seit
    06.11.2009.
    Beiträge
    119

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Die URL weißt nur du selbst. In dem von dir gepostet Code hast du folgende Route eingestellt:
    Code:
    @Route("/ajax")
    Ich hatte das aus Deinem früheren Beispiel in diesem Thread entnommen und so in meine Extension eingebaut. Wird mit
    Code:
    @Route("/ajax")
    als URL dann quasi die Funktion ajaxAction() aufgerufen, oder reicht als URL einfach nur "/ajax"?

  11. #51
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Vienna, Austria
    Beiträge
    22.576
    Partner-ID
    10107
    User beschenken
    Wunschliste

    Standard

    Das kommt darauf an. Die volle absolute URL dieser Route wäre https://example.org/ajax

  12. #52
    Contao-Nutzer
    Registriert seit
    06.11.2009.
    Beiträge
    119

    Standard

    Habe jetzt einfach mal als HTML-Code bei Contao folgendes eingegeben:

    HTML-Code:
    <script>
    var jqxhr = $.ajax("/ajax")
      .done(function() {
        alert( "done" );
      })
      .fail(function() {
        alert( "fail" );
      })
      .always(function() {
        alert( "always" );
      });
    </script>
    hier bekomme ich auf jeden Fall mal die Meldung "fail" zurück. Mit @Route("/ajax") als URL kommt garnichts, auch kein "fail"?!
    Ich hatte Deinen Beispiel-Code vom 10.05.2017 in diesem Thread als Vorlage genommen, quasi 1:1 so eingebaut.

  13. #53
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Vienna, Austria
    Beiträge
    22.576
    Partner-ID
    10107
    User beschenken
    Wunschliste

    Standard

    Funktioniert die URL überhaupt?

  14. #54
    Contao-Nutzer
    Registriert seit
    06.11.2009.
    Beiträge
    119

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Funktioniert die URL überhaupt?
    die URL ist local
    Code:
    "cto4cm.local/de"
    Wenn ich
    Code:
    "cto4cm.local/de/ajax"
    direkt aufrufe, kommt ein 404er, scheint also nicht korrekt zu sein?!

  15. #55
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Vienna, Austria
    Beiträge
    22.576
    Partner-ID
    10107
    User beschenken
    Wunschliste

    Standard

    Nein, die URL ist wenn dann cto4cm.local/ajax

  16. #56
    Contao-Nutzer
    Registriert seit
    06.11.2009.
    Beiträge
    119

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Nein, die URL ist wenn dann cto4cm.local/ajax
    Funktioniert leider auch nicht, keine Ahnung wo da mein Gedankenknick ist.

  17. #57
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Vienna, Austria
    Beiträge
    22.576
    Partner-ID
    10107
    User beschenken
    Wunschliste

    Standard

    Was passiert wenn du die URL aufrufst? Ist dein Service und die Routes korrekt registriert?

  18. #58
    Contao-Nutzer
    Registriert seit
    06.11.2009.
    Beiträge
    119

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Was passiert wenn du die URL aufrufst? Ist dein Service und die Routes korrekt registriert?
    404 ... ich glaube, ich muss mich mal etwas intensiver mit den Rountings beschäftigen, da hakt es noch ziemlich. Danke erst mal Spooky ... ich melde mich wieder, wenn ich irgendwas zustande gebracht habe ;-)

Seite 2 von 2 ErsteErste 12

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •