Hilfe bei JS (AJAX) Funktionen - Druckversion +- MyBB.de Forum (https://www.mybb.de/forum) +-- Forum: Anpassungen (https://www.mybb.de/forum/forum-47.html) +--- Forum: Plugin-Entwicklung (https://www.mybb.de/forum/forum-74.html) +--- Thema: Hilfe bei JS (AJAX) Funktionen (/thread-34149.html) |
Hilfe bei JS (AJAX) Funktionen - SvePu - 18.01.2017 Hallo zusammen, seit einigen Tagen kämpfe ich mit der Anpassung der thankyoulike.js des ThankYou/Likes Plugins. Mein Problem ist die Ausgabe der error() Funktion über jGrowl. Das Plugin hat eine Option zur Limitierung der Thanks/Likes pro Tag bekommen. PHP seitig funktioniert die Bremse und es sind nach Erreichen des Limits keine weiteren Thanks/Likes möglich. Nur AJAXseitig gibt es das Problem, dass via jGrowl weiterhin angezeigt wird, dass das Thanks/Likes gezählt wurde. Die gesetze error() Meldung wird ignoriert. Was ich mit vorstelle ist, dass beim Klicken des ADD Button geprüft wird ob eine error() Meldung besteht, die error() Meldung via jGrowl ausgegeben wird und die js Funktion sofort beendet wird. Teilweise funktioniert es mittlerweile, nur wird jetzt die error und Erfolgsmeldung zusammen angezeigt und die Thanks-Liste aufgeklappt, obwohl sie leer bleibt. Meine bisherigen "Erfolge" sind: PHP-Code: ...... Die entsprechende Fehlermeldung wird hiermit definiert: PHP-Code: if($mybb->usergroup['tyl_limits_max'] != 0 && $mybb->settings[$prefix.'limits'] == "1") RE: Hilfe bei JS (AJAX) Funktionen - Bodoboo - 18.01.2017 Hallo , ich denke zwar selber nicht das ich wirklich helfen kann, nur was mir auffiel das nicht immer der Abschluss da am Schluss ( ; ) ist Ich bin seid 2 Monaten mit JS und Jq dran und hatte unter anderem gelesen das es oft nicht gemacht wird , aber es selten zu Problemen führen kann, Mit freundlichen Grüßen RE: Hilfe bei JS (AJAX) Funktionen - StefanT - 18.01.2017 Ich wüsste nicht, wo da ein Semikolon fehlen sollte? Das Problem ist, dass success() immer ausgeführt wird, wenn vom Server kein Fehler gemeldet wird (und genau das macht error() nicht). Du müsstest success() als eine Abfrage einbauen um die eventuelle Fehlermeldung zu erkennen und zu behandeln. error() ist für AJAX-Anfragen nicht geeignet, da es immer eine vollständige HTML-Seite ausgibt. JSON wäre besser geeignet. RE: Hilfe bei JS (AJAX) Funktionen - SvePu - 18.01.2017 Danke Stefan, aber genau da liegt mein Problem - da ich leider noch nicht so JS-affin, weiß ich nicht, wo ich da ansetzen sollte. Die momentane thankyoulike.js hat eine Funktion, die wohl nicht korrekt arbeitet. Code: if(typeof data == 'string' && data.match(/<error>([^<]*)<\/error>/)) Könntest du diese Funktion evtl. aufschlüsseln - vielleicht kann ich sie passend umbauen?! RE: Hilfe bei JS (AJAX) Funktionen - StefanT - 19.01.2017 Vielleicht hilft dir die Funktion xmlhttp_error() weiter. So wird das mit Javascript abgefragt: https://crossreference.mybb.de/nav.html?jscripts/post.js.source.html#l54 RE: Hilfe bei JS (AJAX) Funktionen - SvePu - 19.01.2017 Danke, ich schau mal. In der functions.php hab ich auch was gefunden: PHP-Code: // AJAX error message? Das könnte doch auch was sein, oder?! RE: Hilfe bei JS (AJAX) Funktionen - StefanT - 19.01.2017 Ja, so geht das auch. Die xmlhttp_error() macht nicht viel anders. RE: Hilfe bei JS (AJAX) Funktionen - SvePu - 21.01.2017 Hab's hinbekommen.....Danke für die Tipps! => https://github.com/Cu8eeeR/MyBB_Thank-you-like-plugin/commit/7f139038cfb9294ca392327199cf890022f18f21 |