Contao-Camp 2024
Ergebnis 1 bis 12 von 12

Thema: Eine Datei per AJAX aufrufen

  1. #1
    Contao-Fan
    Registriert seit
    28.09.2010.
    Ort
    Leipzig
    Beiträge
    461

    Standard Eine Datei per AJAX aufrufen

    Hallo Leute,

    ich versuche ganz easy per onclick Event folgendes Script auszuführen.

    HTML-Code:
    <script>
    function showdetails(str) {
      var xhttp;  
      if (str == "") {
        document.getElementById("overlayyy").innerHTML = "";
        return;
      }
      xhttp = new XMLHttpRequest();
      xhttp.onreadystatechange = function() {
        if (this.readyState == 4 && this.status == 200) {
          document.getElementById("overlayyy").innerHTML = this.responseText;
        }
      };
      xhttp.open("GET", "files/resys/php/query/showdetails.php?pid="+str, true);
      xhttp.send();
    }
    </script>
    Leider kommt dann immer ein 500er Error.
    Die PHP soll von einfach wie ein overlay aufgehen und dann noch weitere Details eines Datensatzes anzeigen.
    Was muss ich machen, damit ich keinen 500er Error erhalte.

    Geplant ist dann später auch ein overlay aufgehen zu lassen wo dann von dort aus eine Formular etwas in der Datenbank editieren kann.


    Würde mich freuen wenn einer eine Idee hat.
    Ich verwende aktuell keine Erweiterungen, halt einfach Ajax Request.
    Geändert von overHead (10.07.2019 um 11:24 Uhr)

  2. #2
    Contao-Urgestein
    Registriert seit
    29.10.2009.
    Ort
    Magdeburg
    Beiträge
    2.020
    Partner-ID
    626
    User beschenken
    Wunschliste

    Standard

    Dein Skript ist fehlerhaft und wirft einen Internal Server Error. https://de.wikipedia.org/wiki/HTTP-S..._Server-Fehler

    Fixe dein Skript und dann wird auch der Ajaxaufruf funktionieren.

  3. #3
    Contao-Fan
    Registriert seit
    28.09.2010.
    Ort
    Leipzig
    Beiträge
    461

    Standard

    Danke für deinen Hinweis. Ich hab ja extra meinen Code reingesetzt. Hast du eine Idee wo der Fehler liegt?

  4. #4
    Contao-Urgestein
    Registriert seit
    29.10.2009.
    Ort
    Magdeburg
    Beiträge
    2.020
    Partner-ID
    626
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von overHead Beitrag anzeigen
    Danke für deinen Hinweis. Ich hab ja extra meinen Code reingesetzt. Hast du eine Idee wo der Fehler liegt?
    Nein, hast du nicht. Wie geschreieben, es ist ein Internal Server Error. Du hast deinen clientseitigen JS-Code gepostet, welcher Fehler nun auf dem Server passiert. Du hast weder einen Auszug aus den Logs, eine Fehlermeldung des Aufrufs noch den Quellcode gepostet.

  5. #5
    Contao-Fan
    Registriert seit
    28.09.2010.
    Ort
    Leipzig
    Beiträge
    461

    Standard

    Zitat Zitat von webstar Beitrag anzeigen
    Nein, hast du nicht. Wie geschreieben, es ist ein Internal Server Error. Du hast deinen clientseitigen JS-Code gepostet, welcher Fehler nun auf dem Server passiert. Du hast weder einen Auszug aus den Logs, eine Fehlermeldung des Aufrufs noch den Quellcode gepostet.
    Okay, dann hoffe das Ihr mit dem was anfangen könnt.

    Der Link mit dem onClick Event
    HTML-Code:
    <a onClick="showdetails(21237)" title="Details anschauen" class="label label-success">Info</a>
    Der Bereich wo dann das Ergebnis angezeigt werden soll
    HTML-Code:
    <div id="overlayyy"></div>
    Das Script ist wie oben unverändert.


    Sagt mal ... wenn ich versuche eine andere php Datei zu öffnen, die ich z.B. in einem Template per include lade und dort treten keine Probleme auf, kommt beim Anklicken auf die PHP Datei auch ein HTTP 500 Error.
    Kann ich die php Dateien direkt in Files gar nicht lesen/öffnen oder muss ich was beim Ajax etwas übergeben?


    NACHTRAG:
    Okay scheint wirklich an den einfachen Aufrufen zu liegen, sobald ich den get Parameter auslesen will, meckert er. Kann das sein dann beim Ajax Aufruf der Contao Core nicht mit rüber gezogen wird? d.h. das z.B. \Input::get() und \Database::getInstance()->prepare() nicht mehr gehen?
    Geändert von overHead (10.07.2019 um 11:50 Uhr)

  6. #6
    Contao-Urgestein Avatar von fiedsch
    Registriert seit
    09.07.2009.
    Ort
    München
    Beiträge
    2.935

    Standard

    Zitat Zitat von overHead Beitrag anzeigen
    Kann das sein dann beim Ajax Aufruf der Contao Core nicht mit rüber gezogen wird? d.h. das z.B. \Input::get() und \Database::getInstance()->prepare() nicht mehr gehen?
    Das hat nichts mit AJAX zu tun. Wenn Du ein reines PHP-Skript hast, das nicht von Contao bearbeitet wird (weil es direkt vom Webserver ausgeliefert wird), steht dort "Contao" (also z.B. \Database) nicht zur Verfügung. Deine Fehler (den Error-500) solltest Du auch bekommen, wenn Du im Browser das Skript direkt aufrufst (also die URL eintippst, die Du in Deinem AJAX-Versuch verwendest).

    Wenn Du hingegen ein Skript in Contao per {{file::*}} einbindest, sieht es anders aus. Dann ist Contao involviert und Du kannst \Database etc. verwenden.

    Das hat aber nichts mit dem Aufruf des Skripts (AJAX vs. direkte Eingabe der URL) zu tun.
    Contao-Community-Treff Bayern: http://www.contao-bayern.de

  7. #7
    Contao-Fan
    Registriert seit
    28.09.2010.
    Ort
    Leipzig
    Beiträge
    461

    Standard

    Danke für den Hinweis, das habe ich mir fast gedacht. Kann man in der per Ajax geöffneten Datei den Contao Core anhängen oder muss man klassisch ein neuen Datenbank Connect aufbauen?

  8. #8
    Contao-Urgestein Avatar von fiedsch
    Registriert seit
    09.07.2009.
    Ort
    München
    Beiträge
    2.935

    Standard

    Zitat Zitat von fiedsch Beitrag anzeigen
    Das hat aber nichts mit dem Aufruf des Skripts (AJAX vs. direkte Eingabe der URL) zu tun.
    Wenn Du ein eigenständiges Skript haben willst und auf Contao Bausteine zugreifen willst, müsstest Du in Deinem Skript Contao "booten". Als Beispiel könntest Du Dir die index.php (von Contao 3: https://github.com/contao/core/blob/3.5/index.php) anschauen, oder gleich https://github.com/richardhj/contao-simple-ajax verwenden.
    Contao-Community-Treff Bayern: http://www.contao-bayern.de

  9. #9
    Contao-Fan
    Registriert seit
    28.09.2010.
    Ort
    Leipzig
    Beiträge
    461

    Standard

    Simple-ajax hatte ich installiert, aber irgendwie finde ich nichts wie ich das anwenden kann.

  10. #10
    Contao-Urgestein Avatar von fiedsch
    Registriert seit
    09.07.2009.
    Ort
    München
    Beiträge
    2.935
    Contao-Community-Treff Bayern: http://www.contao-bayern.de

  11. #11
    Contao-Fan
    Registriert seit
    28.09.2010.
    Ort
    Leipzig
    Beiträge
    461

    Standard

    Also ich habe das ganze von der Index in die aufzurufende Datei eingespielt, ich bekomme es nicht hin.
    Wer kann mir helfen? Wenn ich es dann einmal verstanden habe, läuft es dann.
    Und bei simple_ajax ... naja für jemanden der das noch nicht gemacht hat ist das alles andere als Simple.
    Da fehlt echt Dokumentation und ordentliche Erklärung.

    Gibt auch was auf die Hand, sollte aber wahrscheinlich für einen erfahrenen Hasen kein Problem sein.

  12. #12
    Contao-Urgestein Avatar von fiedsch
    Registriert seit
    09.07.2009.
    Ort
    München
    Beiträge
    2.935

    Standard

    Mann könnte Dir vielleicht helfen, wenn Du uns genauere Infos (z.B. Code!) geben würdest, die zeigen was Du gemacht hast.

    Auf "ich bekomme es nicht hin" kann Dir niemand sagen, was Du falsch gemacht hast.
    Contao-Community-Treff Bayern: http://www.contao-bayern.de

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
  •