Trabalhando com XAJAX

1

Category : AJAX/XAJAX

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:

Comments (1)

Excelente post! Depois de vários anos ainda está ajudando muitas pessoas. Obrigado pela dica!

Post a comment