Método jQuery ajax - getJSON()
Exemplo
Obter dados JSON usando solicitações AJAX e exibir os resultados:
$("button").click(function(){ $.getJSON("demo_ajax_json.js",function(result){ $.each(result, function(i, field){ $("div").append(field + " "); ); ); );
Definição e uso
Carregar dados JSON por meio de solicitação GET HTTP.
No jQuery 1.2, você pode carregar dados JSON de outros domínios usando a forma de callback JSONP, como "myurl?callback=?". O jQuery substituirá automaticamente o ? pelo nome correto da função para executar a função de callback. Nota: o código a partir dessa linha será executado antes da execução da função de callback.
Sintaxe
jQuery.getJSON(url,data,success(data,status,xhr)})
Parâmetros | Descrição |
---|---|
url | Obrigatório. Define qual URL será usada para enviar a solicitação. |
data | Opcional. Define os dados que serão enviados para o servidor juntamente com a solicitação. |
success(data,status,xhr)} |
Opcional. Define a função a ser executada quando a solicitação for bem-sucedida. Parâmetros adicionais:
|
Descrição detalhada
Esta função é uma versão abreviada da função Ajax, equivalente a:
$.ajax({ url: url, data: data, success: callback, dataType: json );
Os dados enviados ao servidor podem ser anexados como uma string de consulta após o URL. Se data Se o valor do parâmetro for um objeto (mapeamento), ele será convertido em string e codificado em URL antes de ser anexado ao URL.
Passado para callback Os dados de retorno podem ser um objeto JavaScript ou um array definido na estrutura JSON, e são analisados usando o método $.parseJSON().
Exemplo
Carregar dados JSON do test.js e exibir dados de um campo name no JSON:
$.getJSON("test.js", function(json){ alert("Dados JSON: " + json.users[3].name); );
Mais exemplos
Exemplo 1
Carregar 4 das últimas imagens sobre gatos do API JSONP do Flickr:
Código HTML:
<div id="images"></div>
Código do 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; ); );
Exemplo 2
Carregar dados JSON do test.js, adicionar parâmetros, exibir dados de um campo name no JSON:
$.getJSON("test.js", { name: "Bill", time: "2pm" }, function(json){ alert("Dados JSON: " + json.users[3].name); );