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 + " ");
    );
  );
);

Experimente você mesmo

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:

  • response - Contém os dados resultantes da solicitação
  • status - Contém o estado da solicitação
  • xhr - Contém objeto XMLHttpRequest

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);
);