Problem mit AJAX-API aus dem Wiki

Hier finden sich Fragen und Ergänzung zur Dokumentation. // All questions and discussions about the documentation.
Benutzeravatar
ma2604121
Beiträge: 349
Registriert: 24.01.2011, 23:42:18

Problem mit AJAX-API aus dem Wiki

Beitrag von ma2604121 » 27.08.2011, 20:34:40

Hallo,

ich habe gerade die Ajax-API aus dem Wiki umgesetzt. Die Umsetzung scheint mir allerdings nur teilweise zu gelingen.

Ich habe ein Eingabefeld, welches Daten für ein Autocomplete liefern soll. Der Link, den dieses Feld in Verbindung mit der Ajax-API liefert, sieht wie folgt aus:

Code: Alles auswählen

http://server/alpha/index.php?ajax-action:AjaxAPI=cmd:TrailAutocomplete&term=123
Das scheint auf den ersten Blick in Ordnung zu sein. Das term wird durch jQuery UI automatisch angefügt.

Aber genau da scheint das Problem in Zusammenarbeit mit der API zu liegen. Denn die liefert mir folgendes Ergebnis:

Code: Alles auswählen

Error!
Error-ID: 	80d5a8c0bcabdc75a0ecac0b3ce72f56
Message: 	Undefined index: term
Number: 	8
File: 	/var/www/alpha/apps/ajax/commands/TrailAutocompleteAjaxAPICommand.php
Line: 	15 
Nach dem Wiki sollte $Parameters die übergebenen Parameter (also auch term enthalten?).

Wenn ich mir $Paramters aber ausgeben lassen, sieht es wie folgt aus:

Code: Alles auswählen

array(1) {
  ["cmd"]=>
  string(17) "TrailAutocomplete"
}

array(0) {
}
Also irgendwo scheinen da die Parameter verloren zu gehen. Oder liegt es daran, dass im Wiki die Paramerdaten so übergeben werden:

Code: Alles auswählen

|term:123
aber in vorliegendem Fall die Daten als

Code: Alles auswählen

&term=123
übergeben werden?

Sprich: Der Delimiter ist falsch und das APF kann deshalb nichts mit dem übergebenen Link anfangen? Kann man den Delimiter irgendwo anpassen?

Megger
Beiträge: 1233
Registriert: 04.11.2008, 10:57:37

Re: Problem mit AJAX-API aus dem Wiki

Beitrag von Megger » 27.08.2011, 22:01:59

Du kannst Term ganz normal per RequestHandler abfragen und gehst dann nicht über den Input der Action
Tutorial: Browsergame mit dem APF (Die ersten Parts handeln von Installation und Inbetriebnahme des APFs, deswegen sicherlich auch für alle Nicht-Browsergame-Programmierer interessant)

APF-Version
  • Entwicklung: 2.0
  • Produktiv: 1.15

Benutzeravatar
dr.e.
Administrator
Beiträge: 4527
Registriert: 04.11.2007, 16:13:53

Re: Problem mit AJAX-API aus dem Wiki

Beitrag von dr.e. » 28.08.2011, 18:49:58

Im Fall deiner URL wird der Parameter einfach als "normaler" URL-Parameter angesehen und ist nicht im Input der Action zu finden. Es empfiehlt sich diesen direkt als Action-Parameter per "|" anzuhängen und aus dem Input-Objekt abzufragen. Die URL lautet dann so:

Code: Alles auswählen

http://server/alpha/index.php?ajax-action:AjaxAPI=cmd:TrailAutocomplete|term:123
Andernfalls kannst du in der Action - wie Tobi sagt - den Parameter per RequestHandler oder einfach direkt aus $_REQUEST abfragen.
Viele Grüße,
Christian

Megger
Beiträge: 1233
Registriert: 04.11.2008, 10:57:37

Re: Problem mit AJAX-API aus dem Wiki

Beitrag von Megger » 28.08.2011, 19:15:23

Es empfiehlt sich diesen direkt als Action-Parameter per "|" anzuhängen und aus dem Input-Objekt abzufragen. Die URL lautet dann so:
Wenn man das Autocomplete Plugin soweit anpassen kann, dann sollte man das machen
Tutorial: Browsergame mit dem APF (Die ersten Parts handeln von Installation und Inbetriebnahme des APFs, deswegen sicherlich auch für alle Nicht-Browsergame-Programmierer interessant)

APF-Version
  • Entwicklung: 2.0
  • Produktiv: 1.15

Benutzeravatar
ma2604121
Beiträge: 349
Registriert: 24.01.2011, 23:42:18

Re: Problem mit AJAX-API aus dem Wiki

Beitrag von ma2604121 » 28.08.2011, 22:35:24

Megger hat geschrieben:
Es empfiehlt sich diesen direkt als Action-Parameter per "|" anzuhängen und aus dem Input-Objekt abzufragen. Die URL lautet dann so:
Wenn man das Autocomplete Plugin soweit anpassen kann, dann sollte man das machen
Das wäre der einfachste Weg. Ich habe allerdings noch keine Möglichkeit gefunden, diese Anpassung "einfach" vorzunehmen.

Benutzeravatar
dr.e.
Administrator
Beiträge: 4527
Registriert: 04.11.2007, 16:13:53

Re: Problem mit AJAX-API aus dem Wiki

Beitrag von dr.e. » 28.08.2011, 23:24:24

Sofern nicht, dann kannst du in der Action die Parameter ja als "normalen" Request-Parameter abfragen. Technisch ist das auf jeden Fall ohne größere Hürde möglich. Denn: wirklich umschreiben würde ich das autocomplete-Plugin nicht. Wenn es also keinen callback zur Generierung der URL hat, nutze einfach Möglichkeit B.
Viele Grüße,
Christian

Benutzeravatar
ma2604121
Beiträge: 349
Registriert: 24.01.2011, 23:42:18

Re: Problem mit AJAX-API aus dem Wiki

Beitrag von ma2604121 » 29.08.2011, 18:15:15

So, habe das nun soweit alles umgesetzt und lokal klappt alles einwandfrei.

Probehalber habe ich das Projekt online gestellt und getestet. Hierbei musste ich feststellen, dass es dort nicht lauffähig ist. Ich erhalte in FireBug folgende Fehlermeldung:

Code: Alles auswählen

"NetworkError: 500 Internal Server Error - http://example.com/apf/index.php?page=addrun&ajax-action:AjaxAPI=cmd:TrailAutocomplete&term=ta"
Exakt der gleiche Link funktioniert auf dem lokalen Server hingegen völlig problemlos.

Irgendwelche Ideen oder Vorschläge woran das liegen kann?

APFelsahne
Beiträge: 222
Registriert: 18.03.2010, 13:13:07
Wohnort: Ludwigshafen am Rhein
Kontaktdaten:

Re: Problem mit AJAX-API aus dem Wiki

Beitrag von APFelsahne » 29.08.2011, 19:15:08

Kannste in die Logs des Webservers schauen, evtl steht da mehr dazu?
Grüße, Florian
BildAPF-Extension wsCatalyst

Benutzeravatar
ma2604121
Beiträge: 349
Registriert: 24.01.2011, 23:42:18

Re: Problem mit AJAX-API aus dem Wiki

Beitrag von ma2604121 » 29.08.2011, 19:43:03

In der access_log steht leider auch nicht viel:

Code: Alles auswählen

95.88.64.44 - - [29/Aug/2011:19:40:51 +0200] "GET /apf/index.php?page=addrun&ajax-action:AjaxAPI=cmd:TrailAutocomplete&term=test HTTP/1.1" 500 601 "http://example.de/apf/?page=addrun" "Mozilla/5.0 (X11; Linux i686; rv:6.0) Gecko/20100101 Firefox/6.0" example.de
Liegt es vielleicht daran, dass ich vor der Action noch ?page=addrun einfüge? Wobei es dann lokal wohl auch nicht gehen dürfte...

APFelsahne
Beiträge: 222
Registriert: 18.03.2010, 13:13:07
Wohnort: Ludwigshafen am Rhein
Kontaktdaten:

Re: Problem mit AJAX-API aus dem Wiki

Beitrag von APFelsahne » 29.08.2011, 19:57:20

was mich bissl irritiert ist, dass er bei der referer-ausgabe des log-eintrags den ersten paramter der url noch mitnimmt, den rest aber nicht mehr.

würds auf alle fälle mal ausprobieren, was passiert, wenn du den page-parameter wegnimmst. aber eigentlich dürfte das nicht das problem sein, das APF müsste die action einfach vorher ausführen und dann zu deinem gewünschten template/doc-controller gelangen. vorallem wenns auf einem anderen system funktioniert hat. von welches system auf welches neue system wurde den migriert (also linux auf linux, oder auf ein andres, windows z.b.)?

edit: eventuell, falls du damit arbeitest, könnte es auch ein fehler in der vhost-config oder htaccess-datei sein.
im error-log des webservers steht nix genaueres?
Grüße, Florian
BildAPF-Extension wsCatalyst

Benutzeravatar
ma2604121
Beiträge: 349
Registriert: 24.01.2011, 23:42:18

Re: Problem mit AJAX-API aus dem Wiki

Beitrag von ma2604121 » 29.08.2011, 20:26:43

Also es handelt es sich bei beiden Systemen um Linux-Betriebssysteme.

Lokal verwende ich weder eine .htaccess noch einen virtuellen Host. Auf dem Webserver ist ebenfalls keine .htaccess vorhanden. Das error-log gibt leider nichts genaueres her.

An dem ?page=addrun lieg es schon mal nicht. Das habe ich gerade getestet.

Benutzeravatar
Screeze
Beiträge: 1920
Registriert: 05.08.2009, 09:49:04
Kontaktdaten:

Re: Problem mit AJAX-API aus dem Wiki

Beitrag von Screeze » 29.08.2011, 20:37:33

Im error Log muss irgendwas stehen, nen 500er generiert man nicht so leicht normalerweise, ich hab das bisher nur mit ner Fehlerhaften .htaccess geschafft...

Benutzeravatar
ma2604121
Beiträge: 349
Registriert: 24.01.2011, 23:42:18

Re: Problem mit AJAX-API aus dem Wiki

Beitrag von ma2604121 » 29.08.2011, 20:54:58

Gerade aktuell nochmals getestet:

Code: Alles auswählen

95.88.64.44 - - [29/Aug/2011:20:53:05 +0200] "GET /apf/ HTTP/1.1" 200 4266 "-" "Mozilla/5.0 (X11; Linux i686; rv:6.0) Gecko/20100101 Firefox/6.0" example.de
95.88.64.44 - - [29/Aug/2011:20:53:07 +0200] "GET /apf/?page=addrun HTTP/1.1" 200 15485 "http://example.de/apf/" "Mozilla/5.0 (X11; Linux i686; rv:6.0) Gecko/20100101 Firefox/6.0" example.de
95.88.64.44 - - [29/Aug/2011:20:53:11 +0200] "GET /apf/index.php?ajax-action:AjaxAPI=cmd:TrailAutocomplete&term=hart HTTP/1.1" 500 601 "http://example.de/apf/?page=addrun" "Mozilla/5.0 (X11; Linux i686; rv:6.0) Gecko/20100101 Firefox/6.0" example.de
Mehr steht zu dieser Anfrage nicht drin.

Benutzeravatar
Screeze
Beiträge: 1920
Registriert: 05.08.2009, 09:49:04
Kontaktdaten:

Re: Problem mit AJAX-API aus dem Wiki

Beitrag von Screeze » 29.08.2011, 21:39:24

das ist aber access_log wenn ich mich nicht irre, wie siehts mit error_log aus, oder den Logs vom APF-Logger?

Benutzeravatar
ma2604121
Beiträge: 349
Registriert: 24.01.2011, 23:42:18

Re: Problem mit AJAX-API aus dem Wiki

Beitrag von ma2604121 » 29.08.2011, 22:09:41

Stimmt. Es ist die access_log. Auf die error_log habe ich keinen Zugriff...

Der APF-Logger hat bislang nur die folgende Datei erstellt: 2011_08_29__mysqlx.log
Die dürfte nicht hilfreich sein, wenn ich mir Namen und Inhalt anschaue.
Oder gilt es etwas Besonderes zu beachten?

Ich habe mal an den Support des Webhosters geschrieben. Vielleicht können die mal in die error_log schauen.

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast