
Benvenuto! Se sei un nuovo visitatore ti consiglio di iscriverti al mio Feed RSS in modo da essere sempre aggiornato riguardo l'uscita di nuovi articoli oppure sbirciare tra i tutorials ed i progetti.
Per avere un'idea del best-content presente in questo blog puoi leggere il post intitolato "Ed ora è il momento di rilanciare alcune iniziative! (1a parte e 2a parte)".
Buona navigazione e grazie per la visita!
Introduzione
Questo tutorial ha il puro scopo di aprire le porte verso la costruzione di applicazioni dinamiche, veloci che sono alla base del Web 2.0, utilizzando Ajax (che si concretizza solitamente con l'utilizzo dell'oggetto XmlHttpRequest).
L'approccio che cercherò di utilizzare sarà il più semplice possibile in modo da far apprendere facilmente le basi che permetteranno poi al lettore di approfondire l'argomento leggendo le risorse che si trovano ormai ovunque su Internet.
Istanziamo l'oggetto XmlHttpRequest
Questo componente fu creato inizialmente dalla Microsoft (eh si dobbiamo ringraziarla :P) sottoforma di oggetto ActiveX per poi essere implementato (come oggetto nativo) pure da parte di Mozilla e Co.
Dobbiamo tenere conto di ciò nella fase di istanziazione dell'oggetto perchè il Javascript corrispondente per il browser Explorer sarà:
mentre per ogni altro browser sarà:
di conseguenza per permettere un'istanziazione "indipendente" dal browser basterà verificare l'esistenza dell'oggetto in questo modo:
In realtà esistono altri script simili (più lunghi) che tengono conto delle varie implementazioni dei vari browsers web, ma la minestra è la stessa ;)
Analizziamo l'oggetto XmlHttpRequest
Una volta creato l'oggetto di riferimento abbiamo a disposizione una discreta quantità di metodi che elenco qui sotto:
Eccovi un esempio di invio dati in GET:
Come potete notare le variabili e in generale i dati da inviare allo script vengono inclusi nell'indirizzo come ormai siamo abituati a fare da anni (utilizzando il GET); a questo punto dopo aver impostato la funzione di callback possiamo inviare i nostri dati passando alcun parametro al metodo send().
Nel caso di un POST le cose cambiano leggermente:
Per eseguire la comunicazione in POST abbiamo dovuto inserire le variabili come contenuto del metodo send() e aggiungere una nuova intestazione che dicesse allo script che gli stiamo passando dei dati nella forma URL Encoded (altrimenti non funziona).
Mmm ho capito, ma che cos'è quella funzione di callback?
La funzione di callback (per l'esattezza un EventListener)
Prima di entrare nel cuore del discorso esaminiamo le proprietà dell'oggetto XmlHttpRequest:
La proprietà che ci permette di gestire il trasferimento dei dati ed in generale i cambiamenti di stato è onreadystatechange.
Vediamone l'utilità con un esempio:
Negli esempi precedenti abbiamo indicato di chiamare ad ogni cambiamento di stato la funzione onStateChange che in questo caso ci permette di distinguere l'avvenuto caricamento da una situazione di errore.
Questo è l'utilizzo più comune del metodo ma le varie combinazioni di status e readyState ci permettono di poter gestire una miriade di casistiche.
Utilizziamo i dati ricevuti
Nell'esempio precedente ho messo un commento nel caso in cui la comunicazione sia avvenuta con successo ma è chiaro come in quella posizione debba andare il codice che cambia dinamicamente l'aspetto della pagina.
Un esempio è il seguente:
Con questa semplice riga di codice riversiamo i dati ricevuti nel tag corrispondente all'id "risultato".
Conclusione
Dopo questa breve panoramica generale ho deciso pure di condividere una semplice applicazione Ajax che non fa altro che affidare ad uno script lato server (PHP) la somma di 2 numeri di 4 cifre.

Ora non vi resta che lavorare! :P
Daniele Simonin 23 Giugno 2006 alle 14:33 Trackback URI
| L | M | M | G | V | S | D |
|---|---|---|---|---|---|---|
| « Gen | ||||||
| 1 | 2 | 3 | 4 | 5 | ||
| 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 13 | 14 | 15 | 16 | 17 | 18 | 19 |
| 20 | 21 | 22 | 23 | 24 | 25 | 26 |
| 27 | 28 | 29 | 30 | 31 | ||
Scrivi un commento
Tags di formattazione:
Leggi i 12 commenti
Complimenti!
Credo siano i tutorial più utili che mi sia capitato di vedere, perchè semplificano la comprensione. Per quel che vale hai un posto d'onore tra i miei feed :)
Commento di Federico 29 Marzo 2007 alle 15:10
Grazie per questo interessante articolo!!
L'ho trovato molto utile, e finalmente riesco a farmi un'idea di Ajax :)
Salutoni.
Commento di Simone 21 Ottobre 2007 alle 15:14
Grazie, veramente utilissimo e ben fatto!
Commento di Patrizia 23 Ottobre 2007 alle 09:08
ottimo tutorial, e soprattutto fantastico AJAX.
Commento di Francesco 29 Novembre 2007 alle 11:45
Grazie per il tutorial. Semplicemente quello che mi serviva.
Commento di Nicola 12 Gennaio 2008 alle 17:36
grazie mille!
semplice ed esaustivo!
d.
Commento di wow 28 Gennaio 2008 alle 13:21
[...] Sviluppo web con AJAX Pubblicato il Febbraio 28, 2008 di iboi AJAX, è una tecnica di sviluppo utilizzata per creare applicazioni web interattive. Questa tecnica riesce, a migliorare l’interattività, la velocità e l’usabilità di una pagina web. AJAX è una tecnica utilizzabile su molti sistemi operativi e browser web, ed esistono numerose implementazioni open source di librerie e framework. Ajax utilizza una combinazione di: HTML (o XHTML) e CSS per lo stile;DOM (Document Object Model) manipolato attraverso un linguaggio come JavaScript o JScript per mostrare le informazioni ed interagirvi; In genere viene usato XML come formato di scambio dei dati, anche se di fatto qualunque formato può essere utilizzato, incluso testo semplice, HTML preformattato. Per lo scambio di dati fra client e WebServer si utilizza principalmente l’oggetto XMLHttpRequest (inizialmente creato dalla Microsoft ) Una guida semplicissima per i primi passi in Ajax è questa… io l’ho trovata molto utile. Ora che avete capito un po’ meglio cosa è vi segnalo anche una ottima lista di tutorial fatta dal sito Smashing Magazine…Ci sono degli esempi fantastici, tutti ovviamente free… [...]
Pingback da Sviluppo web con AJAX « iboi’s blog 28 Febbraio 2008 alle 18:33
sei il mio mito , anzi no,
SEI IL MIO MITOOOOOOOOOOOOOO
Commento di Attilio 14 Marzo 2008 alle 12:18
L'applicazione di esempio allegata all'articolo non funziona.
Ritorna"
Errore:[ object Error ]
"
Commento di Filippo 6 Ottobre 2008 alle 10:37
Probabilmente sarà una problematica legata al cross-browsing, all'epoca non mi ricordo con che browser testai il tutto.
Diciamo che il tutorial va oltre l'applicazione in se': ha lo scopo di capire il funzionamento di ajax.
PS: Ad ogni modo mi sembra strano che non vada visto che in qualche modo lo testai tempo fa, se hai qualche dettaglio in più ben venga.
Commento di Daniele Simonin 6 Ottobre 2008 alle 10:41
Avevo sbagliato la cartella della root del webserver (Tomcat 5.5)
L'ho corretta, ma ora al posto dell'errore precedente, non fa praticamente nulla.
Su IE7 scompare la casella del risultato
Su Firefox 3 compare una casella vuota.
E' possibile che il non abbia Php abilitato?
Commento di Filippo 6 Ottobre 2008 alle 12:56
E' probabile, prova in locale installando WAMP o qualsiasi altro server Web pronto.
Commento di Daniele Simonin 6 Ottobre 2008 alle 16:44