Zastanawiam się tylko, jak wyświetlić obraz, który wskazuje, że żądanie async jest uruchomione. Używam następującego kodu do wykonania żądania asynchronicznego:
$.ajax({
url: uri,
cache: false,
success: function(html){
$('.info').append(html);
}
});
Jakieś pomysły?
javascript
jquery
css
Głosuj za
źródło
źródło
document
tylko do . Zobacz stackoverflow.com/questions/2275342/…Użyj funkcji beforeSend i pełnych funkcji obiektu ajax. Lepiej jest pokazać gif od wewnątrz przed wysłaniem, aby całe zachowanie było zawarte w jednym obiekcie. Uważaj na ukrywanie gifa za pomocą funkcji sukcesu. Jeśli żądanie się nie powiedzie, prawdopodobnie nadal będziesz chciał ukryć gif. Aby to zrobić, użyj funkcji Complete. Wyglądałoby to tak:
źródło
Kod HTML :
Kod CSS:
Kod JQUERY:
źródło
„Obraz”, który ludzie zwykle wyświetlają podczas wywołania Ajax to animowany gif. Ponieważ nie ma możliwości określenia procentu ukończenia żądania Ajax, używane animowane gify są nieokreślonymi przędzarkami. To tylko obraz powtarzający się w kółko jak kula kółek o różnych rozmiarach. Dobra strona do tworzenia własnego, nieokreślonego spinnera to http://ajaxload.info/
źródło
Myślę, że byłoby lepiej, gdybyś miał mnóstwo połączeń .ajax $
UWAGA:
Jeśli używasz CSS. Element, który chcesz wyświetlić, gdy Ajax pobiera dane z Twojego kodu zaplecza, musi wyglądać tak.
źródło
Zawsze lubiłem tę
BlockUI
wtyczkę: http://jquery.malsup.com/block/Pozwala na zablokowanie pewnych elementów strony lub całej strony, podczas gdy żądanie AJAX jest uruchomione.
źródło
Przed wywołaniem albo wstaw ładowany obraz gdzieś w div / span, a następnie przy funkcji sukcesu usuń ten obraz. Alternatywnie możesz ustawić klasę css, taką jak ładowanie, które może wyglądać tak
A następnie przypisz tę klasę do span / div i wyczyść ją w funkcji sukcesu
źródło
coś takiego:
źródło
Możesz dodać początek i zakończenie zdarzenia ajax, to działa po kliknięciu zdarzenia przycisku
źródło
Teraz pokaż go za pomocą funkcji elementu show jquery tuż nad twoim ajaxem.
$('#example_load').show(); $.ajax({ type: "POST", data: {}, url: '/url', success: function(){ // Now hide the load element $('#example_load').hide(); } });
źródło
źródło