1. Herzlich willkommen bei WPDE.org, dem grössten und ältesten deutschsprachigen Community-Forum rund um das Thema WordPress. Du musst angemeldet oder registriert sein, um Beiträge verfassen zu können.
    Information ausblenden

Probleme mit Ajax und WP

Dieses Thema im Forum "Plugins und Widgets" wurde erstellt von Jorgos, 31. Mai 2021.

  1. Jorgos

    Jorgos Member

    Registriert seit:
    4. Juni 2017
    Beiträge:
    22
    Zustimmungen:
    1
    Hallo zusammen,
    ich breche mir hier schon seit Tagen einen ab.
    Ich möchte mit folgendem Code (alles in einer Datei) einfach nur Daten abspeichern.
    Das funktioniert aber nicht.
    Ich erhalte bei bestätigen des Buttons in der Console die Meldung: Bad request (400)
    Habt Ihr eine Idee, was das Problem ist?
    Wahrscheinlich wieder nur so eine Kleinigkeit :)

    Lieben Dank im Voraus.

    Jürgen


    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
     
    suedtiroler gefällt das.
  2. mensmaximus

    mensmaximus Well-Known Member

    Registriert seit:
    24. Juli 2014
    Beiträge:
    8.857
    Zustimmungen:
    437
    ajaxurl ist wo definiert?
     
    suedtiroler gefällt das.
  3. Jorgos

    Jorgos Member

    Registriert seit:
    4. Juni 2017
    Beiträge:
    22
    Zustimmungen:
    1
    Hi, ja, stimmt, hatte ich in den ganzen Versuchen vergessen.
    Funktioniert dennoch nicht :(


    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
     
  4. b3317133

    b3317133 Well-Known Member

    Registriert seit:
    21. November 2014
    Beiträge:
    11.660
    Zustimmungen:
    1.783
    Link zur Seite, wo das so aktiv ist?

    Der Code bindet keine jQuery Bibliothek ein, schwer vorstellbar, dass da im Browser überhaupt etwas passiert ausser einem Scriptfehler. Dazu fehlt die WordPress Einbindung für den PHP-Code, add_action() dürfte damit einen PHP Fehler erzeugen, und dazu gibt der AJAX-Code gar nichts zurück. So kann man schwer helfen.
     
    suedtiroler gefällt das.
  5. mensmaximus

    mensmaximus Well-Known Member

    Registriert seit:
    24. Juli 2014
    Beiträge:
    8.857
    Zustimmungen:
    437
    Action muss 'check_datainsert' lauten nicht 'datainsert'.
     
  6. Jorgos

    Jorgos Member

    Registriert seit:
    4. Juni 2017
    Beiträge:
    22
    Zustimmungen:
    1
    OK.
    Ich habe jetzt JQuery eingebunden und diese Fehlermeldung kam jetzt auch nicht mehr.
    Dennoch erscheint in der Console immer noch "Bad Request"
    Der Link dazu der Seite. Habe ich jetzt mal ins Frontend gebaut, lautet: http://dev.offerj.de/2601-2/

    Der Aktuelle Code:

    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
     
  7. b3317133

    b3317133 Well-Known Member

    Registriert seit:
    21. November 2014
    Beiträge:
    11.660
    Zustimmungen:
    1.783
    Die add_action() sollten nicht in der Template Datei inserttest.php aufgerufen werden, sondern immer über das Theme in functions.php o.ä. oder ein Plugin. Beim Ajax Aufruf sind diese Actions sonst nicht bekannt.
     
  8. Jorgos

    Jorgos Member

    Registriert seit:
    4. Juni 2017
    Beiträge:
    22
    Zustimmungen:
    1
    OK.
    Ich habe nun die add_action in die functions.php ausgelagert. Bad Request blieb gestehen.
    Dann habe ich
    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    geändert. Bad request war verschwunden, aber ich bekomme im Ajaxteil nun eine fehlerhafte Succsess-Meldung
     
  9. b3317133

    b3317133 Well-Known Member

    Registriert seit:
    21. November 2014
    Beiträge:
    11.660
    Zustimmungen:
    1.783
    Dein Ajax Aufruf gibt derzeit das hier zurück, siehe auch Netzwerk Tab im Browser:
    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Vermutlich sieht add_action() Deinen PHP Code nicht.

    Der PHP Code selbst gibt wie bereits beschrieben sonst nichts verwertbares zurück, nur die 0 weil wohl wp_die() fehlt.
     
  10. Jorgos

    Jorgos Member

    Registriert seit:
    4. Juni 2017
    Beiträge:
    22
    Zustimmungen:
    1
    Ich glaube, ich sehe den Wald vor lauter Bäumen nicht.
    Ich poste mal meine Dateie (Inhalte) hier. Vielleicht hilft das besser bei der Auf(Er)klärung :)
    inserttest.php
    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    und die Functions.php
    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
     
  11. b3317133

    b3317133 Well-Known Member

    Registriert seit:
    21. November 2014
    Beiträge:
    11.660
    Zustimmungen:
    1.783
    Jetzt ist die Warning: call_user_func_array() .. weg, gut.

    Die function check_datainsert() gibt weiterhin nichts zurück und es fehlt das wp_die() lt. Ajax Anleitung.
     
  12. Jorgos

    Jorgos Member

    Registriert seit:
    4. Juni 2017
    Beiträge:
    22
    Zustimmungen:
    1
    Sorry, helfe mir mal auf die Sprünge.
    Was soll die funktion check_datainsert denn zurückgeben. Die soll ja nur etwas ausführen.
    Ich blicke da nicht durch. :(
     
  13. b3317133

    b3317133 Well-Known Member

    Registriert seit:
    21. November 2014
    Beiträge:
    11.660
    Zustimmungen:
    1.783
    Dein JavaScript Code erwartet eine response und entscheidet anhand des Inhalts, was im Browser angezeigt wird.

    Also solltest Du in der PHP Funktion wohl was zurückgeben, das irgendwie zum erfolgreichen oder nicht erfolgreichen Ausführen des PHP Codes auf dem Server passt. Daran sieht man dann im Browser, ob es geklappt hat oder nicht, das wäre zumindest das, was Dein JavaScript Code derzeit vorsieht. Aus irgendwelchen Gründen hast Du den ja so geschrieben.

    Genereller Tipp zum Debugging von Ajax: Im Netzwerk Tab der Browser Konsole (google) kann man in der Antwort des Requests sehen, was von WordPress zurückgegeben wird, derzeit eine 0 (Null) wg. des fehlenden wp_die(), siehe auch oben...
     
    #13 b3317133, 1. Juni 2021
    Zuletzt bearbeitet: 1. Juni 2021
  14. Jorgos

    Jorgos Member

    Registriert seit:
    4. Juni 2017
    Beiträge:
    22
    Zustimmungen:
    1
    OK. Muss ich mal nachschauen oder lassen. Danke
     
  15. Jorgos

    Jorgos Member

    Registriert seit:
    4. Juni 2017
    Beiträge:
    22
    Zustimmungen:
    1
    Hi Leute,
    es funktioniert.
    Ich habe das auch daran fest gemacht, dass mir keine Datensatz in die DB geschrieben wurde.
    Da war ein Fehler im SQL-String ;)

    Danke für die Hilfe :)
     
  16. b3317133

    b3317133 Well-Known Member

    Registriert seit:
    21. November 2014
    Beiträge:
    11.660
    Zustimmungen:
    1.783
  17. Jorgos

    Jorgos Member

    Registriert seit:
    4. Juni 2017
    Beiträge:
    22
    Zustimmungen:
    1
    OK. Danke für den Tip
     
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden