Add new attachment

Only authorized users are allowed to upload new attachments.

This page (revision-12) was last changed on 14-Apr-2010 14:30 by m.sanfilippo  

This page was created on 14-Apr-2010 14:30 by turchetti

Only authorized users are allowed to rename pages.

Only authorized users are allowed to delete pages.

Difference between version and

At line 43 changed one line
Un progetto come GWT è tutt'altro che debuggabile anzi permette di dimenticare debuggger specifici per javascript.
Un progetto come GWT è tutt'altro che non debuggabile anzi permette di dimenticare debuggger specifici per javascript.
At line 49 added 82 lines
----
Prototype c'entra con AJAX perchè fornisce delle API specifiche per wrappare l'XMLHttpRequest.
Quello che intendevo è che alcuni tool che in rete sono "taggati" sotto il nome di framework AJAX sono in realtà delle librerie di componenti che in alcuni casi usano chiamate asincrone javascript, ma che hanno come scopo principale la creazione di applicazioni RIA e di effetti grafici "fighi". AJAX, quindi, se c'è è nascosto "dietro" il componente: in questo senso dico che AJAX c'entra poco, almeno per il senso che credo avesse la domanda.
Possiamo aprire una discussione su questi toolkit e in particolare su GWT, in un altra domanda.
Per rendere la discussione più concreta e non rimanere su link e nomi, vi posto un esempio di uso di Prototype per AJAX dalla nostra applicazione:
%%prettify
{{{
return new Ajax.Request(contextRoot+'/index.html',
{
parameters: {azione: 'noteOrdine', codiceOrdine: '001_'+codice},
onSuccess: function(transport){
showDivDetails(element, codice,transport.responseText ,contextRoot);
},
onFailure: function(transport){
alert("Si è verificato un problema nella ricerca dell'ordine: "+codice);
}
});
}}}
/%
Notate che è una anonymous inner class e il formato JSON.
E vi posto anche un esempio di chiamata ajax semplice che ho trovato sul web:
%%prettify
{{{
var req;
function loadXMLDoc(url) {
req = false;
// branch for native XMLHttpRequest object
if(window.XMLHttpRequest && !(window.ActiveXObject)) {
try {
req = new XMLHttpRequest();
} catch(e) {
req = false;
}
// branch for IE/Windows ActiveX version
} else if(window.ActiveXObject) {
try {
req = new ActiveXObject("Msxml2.XMLHTTP");
} catch(e) {
try {
req = new ActiveXObject("Microsoft.XMLHTTP");
} catch(e) {
req = false;
}
}
}
if(req){
req.onreadystatechange = processReqChange;
req.open("GET", url, true);
req.send("");
}
}
}}}
/%
Mentre la parte "solo ajax" è molto semplice:
%%prettify
{{{
req = new XMLHttpRequest();
req.onreadystatechange = processReqChange;
req.open("GET", url, true);
req.send("");
}}}
/%
Ma c'è tutta una gestione di eccezioni ed errori che non è banale, e sencondo me non compre nemmeno tutti i casi.
Oltre alla classe Ajax.Request, prototype fornisce anche API per registrare eventi e per chiamate temporizzate, che non sono semplici da realizzare in javascript "puro".
--m.sanfilippo, 11-Dec-2008 11:20
Version Date Modified Size Author Changes ... Change note
12 14-Apr-2010 14:30 6.064 kB m.sanfilippo to previous
11 14-Apr-2010 14:30 6.046 kB m.sanfilippo to previous | to last
10 14-Apr-2010 14:30 3.421 kB Dario Foresti to previous | to last
9 14-Apr-2010 14:30 3.417 kB Carlo Cestana to previous | to last
8 14-Apr-2010 14:30 2.792 kB Dario Foresti to previous | to last
7 14-Apr-2010 14:30 2.058 kB m.sanfilippo to previous | to last
6 14-Apr-2010 14:30 1.215 kB Carlo Cestana to previous | to last
5 14-Apr-2010 14:30 0.599 kB m.sanfilippo to previous | to last Comment by m.sanfilippo
4 14-Apr-2010 14:30 0.204 kB turchetti to previous | to last
3 14-Apr-2010 14:30 0.247 kB turchetti to previous | to last
2 14-Apr-2010 14:30 0.163 kB turchetti to previous | to last
1 14-Apr-2010 14:30 0.169 kB turchetti to last
« This page (revision-12) was last changed on 14-Apr-2010 14:30 by m.sanfilippo