Ajax funktioniert nicht
lima-city → Forum → Die eigene Homepage → HTML, CSS & Javascript
anfrage
browser
code
dokument
externen ressource
fehler
fehlermeldung
folgende zeile
folgenden code
funktionieren
gleiche quelle
header
http
kopfzeile
lang tante
live beispiel
pfad
regel
tag
url
-
Ich bin was javascript angeht ein Noop.
habe folgenden tag/code">Code, der nicht wirklich funktionieren will. Er sollte in jedem Fall etwas ausgeben, egal ob ein Wert aus der DB geholt wird oder nicht.
<input type='text' id='eintrag'> <input type='button' id='button' value='Search'> <ul id='content'></ul> <script type='text/javascript'> $(document).ready(function() { function Search() { var searchKeyword = $('#eintrag').val(); if (searchKeyword.length >= 3) { $.ajax({ type: "post", url: "http://eulog.webmeteor24.de/control/ajax/search.php", cache: false, data:'keywords='+searchKeyword, success: function(data){ $("#content").html(data); } }); } } $("#button").click(function(){ Search(); }); $('#eintrag').keyup(function(e) { Search(); }); }); </script>
Natürlich wird auch jQuery im head Tag eingebunden. Das Live Beispiel kann ich aus Datenschutzgründen leider nicht verlinken. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Ah, sorry. Hab zu spät gelesen, das du jQuery schon eingebunden hast.
Vielleicht hilft dir die Fehlermeldung ja trotzdem weiter.
Füge die folgende Zeile in den html-Header oder über dein javascript-Tag ein:
[code]
<script type="text/javascript" src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
[/code]
Ich bekomme nach dem Ausführen zwar noch immer eine Fehlermeldung, scheint aber meinem fehlenden Zugriffsrechten auf die Seite geschuldet zu sein.
Quellübergreifende (Cross-Origin) Anfrage blockiert: Die Gleiche-Quelle-Regel verbietet das Lesen der externen Ressource auf http://eulog.webmeteor24.de/control/ajax/search.php. (Grund: CORS-Kopfzeile 'Access-Control-Allow-Origin' fehlt).
Beitrag zuletzt geändert: 16.11.2015 21:27:05 von kaaron -
Habe nun folgenden Code:
<!doctype html> <html> <head> <meta charset="utf-8"> <title>Unbenanntes Dokument</title> <script type="text/javascript" src="js/jquery-1.5.2.min.js"></script> </head> <body> <input type='text' id='eintrag' name='eintrag'> <input type='button' id='button' value='Search'> <ul id='content'></ul> <script type="text/javascript"> $(document).ready(function() { function Suche() { var searchKeyword = $('#eintrag').val(); var sende = {'keywords': $('#eintrag').val()}; $.ajax({ type: "post", url: "ajax/search.php", cache: false, data: sende, success: function(data){ $("#content").html(data); } }); }; $("#button").click(function(){ Suche(); }); $('#eintrag').keyup(function() { Suche(); }); }); </script> </body> </html>
Die Events funktionieren soweit, habe das mit alert in der Funktion Suche() überprüft. Mir wird dann zumindest das eingegebene Wort angezeigt.
Gebe ich einen alert(sende) dann zeigt er mir object object an.
Der Pfad stimmt auf jeden Fall zur search.php, dies habe ich mittels Browser getestet.
Habe jetzt einen Tag lang Tante Google bemüht, und auch alles mögliche durchprobiert. -
Hallo,
gib mal in deinem Test alert(sende['keywords']) ein... dann solltest du auch ein Ergebnis bekommen. An dein PHP wird JSON geschickt, welches du mit json_decode in ein PHP Array dekodieren musst... -
Vielen Dank,
das hat mir in soweit weitergeholfen, dass ich den Fehler gefunden habe.
In der search.php war ein Fehler in der DB Anfrage.
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage