Metoda jQuery ajax - getJSON()
Przykład
Używając żądania AJAX do uzyskania danych JSON i wyświetlenia wyników:
$("button").click(function(){ $.getJSON("demo_ajax_json.js",function(result){ $.each(result, function(i, field){ $("div").append(field + " "); ); ); );
Definicja i użycie
Ładowanie danych JSON za pomocą żądania HTTP GET.
W jQuery 1.2 można załadować dane JSON z innego domeny za pomocą formy JSONP z funkcją zwrotną, np. "myurl?callback=?". jQuery automatycznie zastępuje ? poprawną nazwą funkcji, aby wykonać funkcję zwrotną. Uwaga: kod poniżej będzie wykonywany przed wykonaniem tej funkcji zwrotnej.
Gramatyka
jQuery.getJSON(url,data,success(data,status,xhr))
Parametry | Opis |
---|---|
url | Wymagane. Określa,哪个 URL ma być wysłany żądanie. |
data | Wybór. Określa dane wysyłane razem z żądaniem do serwera. |
success(data,status,xhr) |
Opcjonalne. Określa funkcję uruchamianą przy udanym żądaniu. Dodatkowe parametry:
|
Szczegółowy opis
Ta funkcja jest uproszczoną funkcją Ajax, równoważną:
$.ajax({ url: url, data: data, success: callback, dataType: json );
Dane wysyłane do serwera mogą być dodane jako ciąg znaków do URL po nim. Jeśli data Jeśli wartość parametru jest obiektem (mapą), zostanie ona przekształcona w ciąg znaków i zakodowana URL przed dodaniem do URL.
Przekazuj do callback Zwrócone dane mogą być obiektem JavaScript lub tablicą zdefiniowaną w strukturze JSON, i są analizowane za pomocą metody $.parseJSON().
Przykład
Wczytaj dane JSON z test.js i wyświetl dane z pola name w danych JSON:
$.getJSON("test.js", function(json){ alert("Dane JSON: " + json.users[3].name); );
Więcej przykładów
Przykład 1
Wczytaj 4 najnowsze obrazy o kotach z API JSONP Flickr:
Kod HTML:
<div id="images"></div>
Kod 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; ); );
Przykład 2
Wczytaj dane JSON z test.js, dodaj parametry, wyświetl dane z pola name w danych JSON:
$.getJSON("test.js", { name: "Bill", time: "2pm" }, function(json){ alert("Dane JSON: " + json.users[3].name); );