Aggiornare il contenuto di una pagina con Ajax.updater()
Posted by Dibi Store Wed, 05 Sep 2007 17:03:00 GMT
Tra le tante cose che ci ha regalato Sam Stephenson in prototype una di quelle piu usate è sicuramente Ajax.updater().
Grazie a questa funzione è possibile inviare contenuto dinamico al server in background, e gestire a piacimento qualunque risposta, come ad esempio aggiornare il contenuto di un div dopo l'invio.
In questo articolo cercherò di spiegarvi il suo funzionamento, per maggiori informazioni si rimanda come sempre alla documentazione ufficiale.
Il suo funzionamento di base può essere espresso con questo semplice codice:
new Ajax.Updater(container, url[, options])
Come è facile intuire, la funzione accetta tre parametri: l'id dove aggiorneremo la pagina (deve esser un elemento preciso, quindi non potrete indicare una classe), l'url dove verrà inviata la richiesta,e come terzo parametro accetta un array di opzioni, che per comodità vi ho elencato alla fine dell'articolo.
Nel prossimo esempio, tratto dalla documentazione, invieremo alla pagina
/itemsi dati
{ text: $F('text') }, e alla fine aggiorneremo il div (ma puo esser qualsiasi elemento) con id ='items'.
E' chiaro che è nostro preciso compito impostare la pagina sul server affinché ci restituisca una risposta adeguata. Riporto di seguito due esempi, uno è una risposta ipotetica in PHP e l'altro in rails.
PHPif (isset( $_REQUEST['variabile'] )) {
//esegui codice
}
Rails
if params[:variabile]
#codice
end
Ecco ora il famigerato elenco di opzioni che potete usare come terzo parametro, mi raccomando da includere dentro parentesi graffe e separate da virgola:
asynchronous evalScripts method ‘post’ contentType encoding parameters postBody username password requestHeaders onComplete onSuccess onFailure onException on + Status Code insertion (Insertion.Top, Insertion.Bottom, Insertion.Before or Insertion.After.)
Ognuna di esse merita una spiegazione a parte, in caso di difficoltà chiedete pure

