Sunday, 18 July 2010 21:50

Ajax e Mootols

Nello sviluppo di componenti o moduli Joomla può risultare molto utile poter effettuare chiamate asincrone a script php presenti sul server che ospita il sito; il tutto, senza scatenare un ricaricamento della pagina. In pratica, può essere molto utile poter utilizzare Ajax.

Ajax non è altro che l'insieme delle tecniche utilizzate per effettuare chiamate asincrone a script attraverso Javascript; si tratta quindi di utilizzare funzioni Javascript per chiamare script (ad esempio php), ed utilizzare il loro output per aggiornare parte della pagina visualizzata all'utente, senza forzarne il ricaricamento.

Implementare da zero le funzionalità Ajax può risultare molto complicato (basta pensare che, a seconda del browser, può essere necessario utilizzare alcune librerie piuttosto che altre); molto più semplice, invece, è utilizzare librerie già pronte e liberamente ridistribuibili: è il caso di Mootools.

Le funzioni Mootols per Ajax

Utilizzare Mootols per implementare funzioni Ajax è molto semplice. E' sufficiente sfruttare la classe "Ajax", che va inizializzata passandole tre semplici parametri:

  • URL: la url da chiamare in modalità asincrona, il quale risultato verrà utilizzato per aggiornare parte della pagina (una div)
  • METHOD: la modalità con la quale chiamare la URL specificata; può essere POST o GET
  • UPDATE: l'identificativo della DIV da aggiornare, riempiendola con l'output
Esempio: qui sotto trovate una semplice funzione Javascript, da chiamare all'onClick di un link (ad esempio), che aggiorna la div chiamata "responseDiv" con l'output dello script evocato tramite l'URL specificata.
function sendAjaxRequest()
{
var url = "http://www.dmdigital.it/index.php?option=com_ajax&task=getDemo";
var myAjax = new Ajax(url, {method: 'get', update: 'responseDiv'}).request();
}

Qui sotto l'intera documentazione della classe Ajax:

 

Ajax

Class: Ajax
An Ajax class, For all your asynchronous needs.
Inherits methods, properties, options and events from <XHR>.

Arguments:
url - the url pointing to the server-side script.
options - optional, an object containing options.

Options:
data - you can write parameters here. Can be a querystring, an object or a Form element.
update - $(element) to insert the response text of the XHR into, upon completion of the request.
evalScripts - boolean; default is false. Execute scripts in the response text onComplete.
When the response is javascript the whole response is evaluated.
evalResponse - boolean; default is false. Force global evalulation of the whole response,
no matter what content-type it is.

Events:
onComplete - function to execute when the ajax request completes.

Example:
>var myAjax = new Ajax(url, {method: 'get'}).request();
Published in Sviluppo Joomla