Per questi esempi useremo la struttura di Ajax dall'articolo:
L'ultimo oggetto di Ajax.
Quando state comunicando con i vostri propri server, AJAX è uno dei metodi migliori per trasferire i dati dal server al browser. Se il server è sotto il vostro controllo potete ragionevolmente pensare che questo metodo di trasferimento di dati è sicuro. Ecco un esempio di una richiesta semplice di AJAX che comunica con il server, richiama alcuni dati e li passa ad una funzione di elaborazione. Useremo il metodo di chiamata ripetuta (callback) qui dove l'oggetto di JSON eseguirà una funzione predefinita dopo che carichi, in questo caso -- elaboraDati(datiJson);
function elaboraDati(datiJson) {
alert(datiJson.colore);
}
var ajaxRequest = new ajaxObject('http://www.somedomain.com/getdata.php');
ajaxRequest.callback = function (responseText) {
eval(responseText);
}
ajaxRequest.update();
// assumiamo che il server restituisca il seguente file di dati
// (che la routine ajax acquisisce tramite responseText)
//
// elaboraDati( { "colore" : "verde" } )
In questo esempio il nostro file di dati, che è attualmente codice di Javascript, una volta passato attraverso l'istruzione eval, eseguirà la funzione elaboraDati, passando i nostri dati di JSON alla funzione come primo argomento.
L'esempio seguente userà il metodo di Parse e presuppone che abbiate il prototipo parseJSON situato altrove nel vostro codice.
function elaboraDati(datiJson) {
alert(datiJson.colore);
}
var ajaxRequest = new ajaxObject('http://www.somedomain.com/getdata.php');
ajaxRequest.callback = function (responseText) {
datiJson = responseText.parseJSON();
elaboraDati(datiJson);
}
ajaxRequest.update();
// assumiamo che il server restituisca il seguente file di dati
// (che la routine ajax acquisisce tramite responseText)
//
// { "colore" : "verde" }
Ora quando il server restituisce il file JSON, questo viene analizzato sulla riga che riporta datiJson = responseText.parseJSON (); quindi datiJson è passato a elaboraDati. Il risultato finale è lo stesso del primo esempio, ma se, per qualche motivo, i dati di JSON contenessero codice maligno o dati non validi, in questo caso il codice utilizzato nel secondo esempio sarebbe più affidabile.