A jaką otrzymaujesz odpowiedź z serwera?
Pamiętaj że ważna jest kolejność wywoływania metod XAJAX.
Najpier rejestrujesz funkcje:
<?php
$ajax->registerFunction('nazwa_funkcji');
?>
Jeżeli funkcja nie jest widzialna (tzn tyle samo co gdy funkcja function_exists('nazwa_funkcji') zwróci false) to nie zostanie ona zatejestrowana przez xajax-a.
Gdy zarejestrujesz swoje funkcje czas na metodę:
<?php
$ajax->processRequests();
?>
Bez niej nic ci się nie uda. Musi być wywołana po zarejestrowaniu funkcji ale przed wysłaniem nagłówków do przeglądarki.
Na końcu należy wydrukować kod js:
<?php
$ajax->printJavascript('sciezka_do_xajaxa/ajax/');
?>
i umieść go w sekcji HEAD lub BODY strony (w zależności od wybranej deklaracji dokumentu).
Jeżeli ta kolejność będzie inna to nie licz na pozytywny efekt.
a teraz prosty przykład:
<?php
function testAjax($id)
{
$obj = new xajaxResponse();
$obj->addAlert('to jest n test xajaxa');
$html = 'testuję ajaxa ;)';
$obj->addAssign($id,'innerHTML',$html);
$obj->addAssign($id,'style.border','1px #c00 solid');
return $obj;
}
$ajax = new xajax();
$ajax->registerFunction('testAjax');
$ajax->processRequests();
$this->ajax->printJavascript('lib/ajax/');
$smarty = new Smarty();
'TEXT1' => 'testujemy x-ajaxa',
'initAjax' => $initAjax
));
$ret= $smarty->fetch('templ.tpl','templ','templ',false);
//wynik działania jest w zmiennej $ret. Możesz ją wykorzystać kiedy chcesz.
?>
A teraz template:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"> <meta http-equiv="content-TYPE" content="text/html; charset=iso-8859-2"/> {$initAjax}
<div id="content" style="display:none;"></div> <span onclick="xajax_testAjax('content');">Testuj
<span>
Generalnie poczytaj dokumentację na stronie
http://wiki.xajaxproject.org/Documentation...esponse.inc.phpPozdrawiam