XAJAX
19 September 2009
Comments
Xajax to jedna z "bibliotek" łączących PHP z AJAXem. Biblioteki takie można podzielić na dwie grupy - zorientowane pod JavaScript i zorientowane pod PHP. XAJAX należy do tej drugiej grupy, dzięki czemu ilość kodu Javascript w naszych skryptach będzie minimalna.Podstawowy
Poniższy skrypt pokazuje najprostsze zastosowanie Xajaxa do wysyłania i obsługi żądań "Ajaksowych". Umieszczamy go w głównym katalogu Xajaxa (wersja 0.5).<?php
require_once("xajax_core/xajax.inc.php");
$xajax = new xajax();
// rejestrujemy własną funkcję
$xajax->registerFunction("moja_funkcja");
function moja_funkcja($arg)
{
// kod funkcji obsługującej wywołania Ajaxa
$newContent = "Wartość \$arg to: ".$arg;
// obiekt odpowiedzi
$objResponse = new xajaxResponse();
// określamy gdzie umieścić odpowiedź (ID taga HTML, operacja, treść)
$objResponse->assign("jakiesId","innerHTML", $newContent);
// zwracamy odpowiedź
return $objResponse;
}
$xajax->processRequest();
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<?php $xajax->printJavascript(); ?>
</head>
<body>
<!-- tutaj zwrócona zostanie odpowiedź -->
<div id="jakiesId"></div>
<!-- wysłanie żądania za pomocą ajaxa i funkcji xajaxa -->
<input type="button" onclick="xajax_moja_funkcja('Działa!');" value="Kliknij">
</body>
</html>
Za pomocą JavaScriptowej funkcji xajax.getFormValues('ID Formularza') możemy przekazać naszej funkcji dane z podanego formularza (dostępne będą w postaci tablicy). Przykładowo:
<?php
require_once("xajax_core/xajax.inc.php");
$xajax = new xajax();
// rejestrujemy własną funkcję
$xajax->registerFunction("moja_funkcja");
function moja_funkcja($arg)
{
// kod funkcji obsługującej wywołania Ajaxa
$newContent = "Wartość pola "tekst" to: ".$arg['tekst'];
// obiekt odpowiedzi
$objResponse = new xajaxResponse();
// określamy gdzie umieścić odpowiedź (ID taga HTML, operacja, treść)
$objResponse->assign("jakiesId","innerHTML", $newContent);
// zwracamy odpowiedź
return $objResponse;
}
$xajax->processRequest();
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<?php $xajax->printJavascript(); ?>
</head>
<body>
<!-- tutaj zwrócona zostanie odpowiedź -->
<div id="jakiesId"></div>
<!-- wysłanie żądania za pomocą ajaxa i funkcji xajaxa -->
<form action="#" method="POST" id="formularz">
<input type="text" name="tekst" />
<input type="submit" onclick="xajax_moja_funkcja(xajax.getFormValues('formularz'));return false;" value="Wyślij" />
</form>
</body>
</html>
RkBlog
Comment article