Metodo jQuery ajax - getJSON()
Esempio
Ottieni dati JSON tramite richiesta AJAX e visualizza i risultati:
$("button").click(function(){ $.getJSON("demo_ajax_json.js",function(result){ $.each(result, function(i, field){ $("div").append(field + " "); ); ); );
Definizione e uso
Carica dati JSON tramite richiesta GET HTTP.
In jQuery 1.2, è possibile caricare dati JSON da altri domini utilizzando la forma JSONP dei callback funzione, come "myurl?callback=?". jQuery sostituirà automaticamente ? con il nome della funzione corretto per eseguire la callback funzione. Attenzione: il codice successivo verrà eseguito prima dell'esecuzione di questa callback funzione.
Sintassi
jQuery.getJSON(url,data,success(data,status,xhr))
Parametro | Descrizione |
---|---|
url | Obbligatorio. Regola quale URL viene inviata la richiesta. |
data | Opzionale. Regola i dati che vengono inviati al server insieme alla richiesta. |
success(data,status,xhr) |
Opzionale. Specifica la funzione da eseguire quando la richiesta ha successo. Parametri aggiuntivi:
|
Descrizione dettagliata
Questa funzione è una versione abbreviata della funzione Ajax, equivalente a:
$.ajax({ url: url, data: data, success: callback, dataType: json );
I dati inviati al server possono essere aggiunti come stringa di ricerca all'URL. Se data Se il valore del parametro è un oggetto (mappatura), viene convertito in stringa e codificato in URL prima di essere aggiunto all'URL.
Passato al callback I dati di ritorno possono essere un oggetto JavaScript o un array definito con struttura JSON, e possono essere analizzati utilizzando il metodo $.parseJSON().
Esempio
Carica dati JSON da test.js e visualizza un campo dati name nel JSON:
$.getJSON("test.js", function(json){ alert("JSON Data: " + json.users[3].name); );
Più esempi
Esempio 1
Carica 4 delle ultime immagini di gatti tramite l'API JSONP di Flickr:
Codice HTML:
<div id="images"></div>
Codice jQuery:
$.getJSON("http://api.flickr.com/services/feeds/photos_public.gne? tags=cat&tagmode=any&format=json&jsoncallback=?", function(data){ $.each(data.items, function(i,item){ $("<img/>").attr("src", item.media.m).appendTo("#images"); if ( i == 3 ) return false; ); );
Esempio 2
Carica dati JSON da test.js, aggiungi parametri, visualizza un campo dati name nel JSON:
$.getJSON("test.js", { name: "Bill", time: "2pm" }, function(json){ alert("JSON Data: " + json.users[3].name); );