Habe einen ärgerlichen Fehler gefunden der die xajax engine unbrauchbar macht:
Ein simples "echo '\n';" (oder auch nur 1 mal return vor <?php gedrückt) vor der Initialisierung der xajax Klasse und den dazugehörigen Methodenaufrufen, legen jeden ajax Aufruf lahm.
Zum selber testen die test.php in include/contents und test.htm in include/templates kopieren und index.php?test aufrufen!
Wenn ihr das echo '\n'; in der ersten Zeile entfernt funktioniert alles ohne Probleme.
Anderenfalls (mit echo) passiert nichts und der Browser (in meinem Fall Firefox) läd nur dumm herum!
Der Hund liegt im Javascript begraben:
Fehler: XML- oder Text-Deklaration nicht am Beginn der Entität
Quelldatei: localhost/juo/index.php?test
Zeile: 2, Spalte: 1
Quelltext:
<?xml version="1.0" encoding="utf-8" ?><xjx><cmd n="as" t="vvv" p="innerHTML">test</cmd></xjx>
test.php:
<? echo "\n"; //haha -> this breakes the xajax engine! $xajax = new xajax(); $xajax->registerFunction("m"); function m($arg) { $n = "it works"; $res = new xajaxResponse(); $res->assign("vvv", "innerHTML", $n); return $res; } $xajax->processRequest(); $xajax->printJavascript(); $title = $allgAr['title'].' :: test '.$cattitle; $hmenu = '<a class="smalfont" href="?test">test</a>'.$catname; $design = new design ( $title , $hmenu ); $design->header(); $tpl = new tpl ('test'); $tpl->out(0); $design->footer(); ?>
test.htm:
<input type="button" length="15" onclick="xajax_m('test');" /> <div id="vvv">click on button plz</div>
PS: Warum ist xajax.inc.php und alle xajax*.js so komisch formatiert?
Glaube nicht, dass jemand die 1000 Zeilen Code mit Formatierung durchlesen würde um xajax zu hacken. Außerdem gibt es Formatierprogramme, die die komische Formatierung sowieso wieder auflösen!
betroffene Homepage: localhost
Zuletzt modifiziert von plan_rich am 23.09.2010 - 15:20:56