XAJAX é um toolkit para trabalhar com ajax no PHP, ele é apoiado basicamente em prototype e pode ser extendido usando outros frameworks AJAX como scriptaculous ou mootools.
O diferencial do XAJAX é a facilidade em utiliza-lo, você basicamente escreve código PHP e ele gera o AJAX sozinho.
Veja o exemplo:
exemplo1.php:
<?PHP
include “_lib/xajax/xajax_core/xajax.inc.php”;
$xajax = new xajax();
function Soma($a, $b)
{
$response = new xajaxResponse();
$response->assign(‘resultado’, ‘innerHTML’, $a + $b);
return $response;
}
$xajax->registerFunction(‘Soma’);
$xajax->processRequest();
$xajax->printJavascript(‘_lib/xajax/’);
?>
<form action=”#” method=”post”>
<input type=”text” name=”val1″ id=”val1″>
<input type=”text” name=”val2″ id=”val2″>
<input type=”button” onclick=”xajax_Soma(document.getElementById(‘val1′).value,
document.getElementById(‘val2′).value)” id=”btnAdd” value=”Click Me” />
<p id=”resultado”></p>
</form>
Como podem observar não escrevemos quase nada de javascript (apenas a chamada da função no onClick), o que isso facilita? Bom, para mim que acho o JavaScript uma linguagem mal acabada, facilita muito, pois me preocupo com a lógica em PHP, construindo funções que já estou acostumado a criar e o XAJAX cuida para retornar isso de uma forma simples para o browser.
Um exemplo mais complexo:
exemplo2.php:
<?php
include “_lib/xajax/xajax_core/xajax.inc.php”;
$xajax = new xajax();
function Consulta($nome)
{
$con = mysql_connect(“localhost”,”root”,”");
$db = mysql_select_db (“xajax_teste”,$con);
$query = “select * from cadastro where nome like ‘%$nome%’”;
$result = mysql_query($query) or die(mysql_error());
$response = new xajaxResponse();
while($row = mysql_fetch_assoc($result)){
$html .= utf8_encode($row['nome']).” “.$row['email'].”<br>”;
}
$response->assign(‘resultado’, ‘innerHTML’, $html);
return $response;
}
$xajax->registerFunction(‘Consulta’);
$xajax->processRequest();
?>
<?php $xajax->printJavascript(‘_lib/xajax/’); ?>
<form action=”#” method=”post”>
<input type=”text” name=”busca” id=”busca”>
<input type=”button” onclick=”xajax_Consulta(document.getElementById(‘busca’).value)”
id=”btnAdd” value=”Busca” />
<p id=”resultado”></p>
</form>
Notem que no retorno do nome ($row['nome']) tem um uft8_encode() isto porque o retorno do XAJAX é em xml (como todo AJAX deveria ser) e portanto precisa desse encode, uma vez que o xml possui algumas limitações quanto ao charset.
Mostrei aqui algumas implementações bem simples com códigos bem básicos, em uma arquitetura mais eleveda, pode-se remover o XAJAX do html facilmente, manipulando ele totalmente no PHP.
Para obter o XAJAX acesse XAJAX Project.
Qualquer dúvida comentem!
Referencia:
Arquivos: