2011-12-18 18 views
9

Chcę użyć obrazu ładującego podczas pobierania danych za pośrednictwem AJAX z getJSON. Rozglądałem się, ale jeszcze nie znalazłem odpowiedniego sposobu na zrobienie tego. Jaki jest najlepszy sposób na zrobienie tego?Pokazywanie obrazu ładującego za pomocą getJSON

$.getJSON('file.php', function(json) { 
    $.each(json, function() { 

    // Retrieving data from json... 

    }); 
}); 
+0

modalna czy na miejscu? –

Odpowiedz

20

Pokaż spinner przed getJSON rozmowy, a następnie ukryć po odpowiedź jest analizowana

$(".someSpinnerImage").show(); 
    $.getJSON('file.php', function(json) { 
     $.each(json, function() { 
      // Retrieving data from json... 

     }); 
     $(".someSpinnerImage").hide(); 
    }); 
6

możesz configure dla globalnej użytku, to będzie wewnętrznie nazywa ilekroć ajax wezwanie jest zrobione.

$.ajaxStart(function() { 
    $("img#loading").show(); 
}); 

$.ajaxComplete(function() { 
    $("img#loading").hide(); 
}); 
+1

Czy to nadal działa? Nie sądzę. Otrzymuję: $ .ajaxStart nie jest funkcją –

1

.ajaxStart() documentation mówi:

Jak jQuery 1.9, wszystkie teleskopowe na jQuery zdarzeń globalnych Ajax, tym dodaje się metodą .ajaxStart(), muszą być dołączone udokumentować.

Jeśli $.ajax() lub $.ajaxSetup() nazywa z opcją globalnego ustawiona na false, metoda .ajaxStart() nie zadziała.

Powiązane problemy