AJAX

V dnešní době je velmi populární mít nějakou tu část stránky poháněnou AJAX-em. Pro tento účel existuje spousta frameworků a knihoven. Tyto frameworky mají, ale jednu nevýhodu. Většinou obsahují zbytečnosti, které nevyužijete a zcela zbytečně se načítají (pochybuji, že už někdo někdy využil na jedné stránce všechny možnosti daných frameworků).

Sice jsem moc nehledal, ale zjistil jsem, že není moc knihoven, které by uměly jen to jedno a to AJAX a proto jsem si pro své potřeby napsal jednoduchou knihovnu, pro práci s AJAX-em. A protože nevidím důvod, proč se o ní nepodělit, tak jí také bez problému uveřejním, ke stažení (1,14kB). Jedinou podmínku, kterou kladu pro její používání je, že nesmíte odstranit komentáře v ní obsažené.

Použití je velmi jednoduché. Knihovnu je nejprve třeba vložit do stránky pomocí:

<script type="text/javascript" src="AJAX.js"></script>

A dále jen stačí zavolat příslušnou funkci s danými parametry:

var myAJAX = new Ajax('volanaAdresa', {data:'promenna=hodnota&promenna2=hodnota2', metoda:'POST', vratit:'TEXT'});

Přičemž jediný povinný parametr je volaná adresa. Výchozí hodnoty projsou:

  • data = „“
  • metoda = „POST“
  • vratit = „TEXT“

Metoda může být „POST“, nebo „GET“ a vratit „TEXT“, nebo „XML“.

Pokud bude budete pomocí AJAX-u data i načíta, je potřeba k nim přistupovat pomocí funkce onComplete, která se automaticky volá po dokončení scriptu.Vypadalo by to následovně:

var myAJAX = new Ajax('volanaAdresa', {data:'promenna=hodnota'});
myAJAX.onComplete = function(vraceno){
   alert(vraceno);
}

Kromě funkce onComplete je k dispozici funkce onError, která se zavolá při chybě a také funkce onProgress, která se volá během načítání.

Nakonec uvedu kompletní příklad:

<script type="text/javascript" src="AJAX.js"></script >
var aj = new Ajax('test.php', {data:'a=2&b=4&operace=scitani', metoda:'GET'});
aj.oProgress = function(){ alert('AJAX pracuje'); }
aj.onComplete = function(soucet){ alert(soucet); }
aj.onError = function(chyba){ alert(chyba); }

A „test.php“ by mohl vypadat třeba:

<?php
if($_GET['operace'] == 'scitani'){
   echo $_GET['a']+$_GET['b'];
}
?>

Tags: ,

Váš komentář