Oltre a $.ajax(), jQuery mette a disposizione alcune utili scorciatoie per alcuni tipi di richieste molto utilizzate.
Anzitutto $.post() e $.get() che inviano rispettivamente richieste POST e GET al server. Ambedue le funzioni accettano fino a 4 parametri:
url: l'url a cui inviare la chiamatadata: come in$.ajax(), un oggetto o stringa rappresentante i valori da inviare al servercallback: una funzione da lanciare quando i dati sono stati caricati correttamente. Accetta come argomento i dati e lo stato della richiestatype: il tipo di dati richiesto, di default html o xml (vedidataTypein$.ajax()).
Altre due scorciatoie molto utili sono $.getJSON() e $.getScript(). La prima serve a caricare dati JSON da un server (anche remoto) ed accetta come argomenti l'indirizzo della
richiesta, eventuali dati in formato stringa e JSON, ed una funzione di callback (dello stesso tipo di $.get() e $.post()); la secondo serve a caricare JavaScript remoto ed accetta solo l'indirizzo del server ed una funzione di callback. Un'ultima funzione è .load(), un metodo che gestisce solo dati HTML o testuali e li inserisce all'interno degli elementi della collezione corrente. Come altre
scorciatoie accetta anche dei dati da inviare al server come stringa o oggetto JSON, nonché una funzione di callback da lanciare al caricamento dei dati:
$("#pannello").load(
"pagina.html", //pagina da caricare
{}, //un oggetto JavaScript vuoto = nessun dato da inviare
function () { //funzione di callback
alert("dati caricati!");
}
});
Ecco un esempio pratico.
Funzioni di supporto
Come detto sopra, $.ajax() accetta come argomento un oggetto con alcuni parametri per definire il comportamento della richiesta AJAX.
Nel caso questi parametri dovessero essere impostati per molte richieste, è possibile definirli globalmente passandoli, sempre come oggetti JavaScript, alla funzione $.ajaxSetup():
//Tutte le richieste AJAX restituiscono un oggetto JSON
$.ajaxSetup({
dataType : 'json'
});
Per quanto riguarda la gestione dei dati da inviare via AJAX, jQuery offre due interessanti metodi: il primo, .serialize(), converte i campi di un form in una stringa serializzata:
var stringa = $("form").serialize();
//stringa = "nomecampo1=valore&nomecampo2=valore"
Il secondo metodo è .serializeArray() che si applica sempre ad un form, ma restituisce un oggetto JSON manipolabile:
var oggetto = $("form").serializeArray();
//stringa = [{ key : "nomecampo1" , value : "valore1"},{ key : "nomecampo2" , value : "valore2"}]
Se vuoi aggiornamenti su Development inserisci la tua email nel box qui sotto: