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 (vedi dataType in $.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.
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"}]
PhantomJS, headless browser per test con JavascriptIl tool ideale per realizzare, da terminale, operazioni in remoto su... |
Creare e leggere QR Code in JavaScriptApplicazioni 'QR Code enabled' per il Web e per il mobile,... |
Jquery UI Map: web-mapping con Google Maps e jQueryUn plugin di jQuery UI per intefacciare applicaizoni Web/mobile con... |
Scrollorama e Scrolldeck, slideshow d'effetto con jQueryPlugin jQuery per ottenere Slideshow con diversi effetti di scrolling |
jCanvas, un primo semplice graficoAlla scoperta della libreria jCanvas, per semplificare il disegno e... |
Guida Node.jsIl framework che permette di per usare V8, l'interprete JavaScript... |
Canvas, guida ai frameworkCanvas, tra gli elementi di HTML5 è forse quello di maggior impatto.... |
Guida Javascript: tecniche avanzateUna guida dal taglio pratico per approfondire la programmazione a... |
Ogni martedì, direttamente nella tua e-mail: guide, articoli, script, novità e approfondimenti tecnici su JavaScript.
Iscriviti alla newsletter
|
|
Corso Webmaster base18 Giugno 2012 a Milano |
|
|
Corso Google AdWords Base25 Giugno 2012 a Milano |
|
|
Corso JQuery e Ajax per Webmaster03 Luglio 2012 a Milano |
|
|
Corso Google AdWords Base05 Giugno 2012 a Roma |
|
|
Corso Webmaster base11 Giugno 2012 a Roma |