XAJAX

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

PHP w Akcji, 19 September 2009

Comment article
Comment article RkBlog main page Search RSS Contact