Só estou me perguntando como mostrar uma imagem que indica que a solicitação assíncrona está em execução. Eu uso o seguinte código para realizar uma solicitação assíncrona:
$.ajax({
url: uri,
cache: false,
success: function(html){
$('.info').append(html);
}
});
Alguma ideia?
javascript
jquery
css
Voto positivo
fonte
fonte
document
apenas a. Consulte stackoverflow.com/questions/2275342/…Use as funções beforeSend e complete do objeto ajax. É melhor mostrar o gif de dentro de beforeSend para que todo o comportamento seja encapsulado em um único objeto. Tenha cuidado ao ocultar o GIF usando a função de sucesso. Se a solicitação falhar, você provavelmente ainda deseja ocultar o gif. Para fazer isso, use a função Complete. Seria assim:
fonte
Código HTML :
Código CSS:
Código JQUERY:
fonte
A "imagem" que as pessoas geralmente mostram durante uma chamada de Ajax é um GIF animado. Como não há como determinar a porcentagem concluída da solicitação ajax, os gifs animados usados são spinners indeterminados. Esta é apenas uma imagem que se repete continuamente como uma bola de círculos de tamanhos variados. Um bom site para criar seu próprio spinner indeterminado personalizado é http://ajaxload.info/
fonte
Acho que isso pode ser melhor se você tiver toneladas de chamadas de $ .ajax
NOTA:
Se você usa CSS. O elemento que você deseja mostrar enquanto o ajax está obtendo dados de seu código de back-end deve ser assim.
fonte
Sempre gostei do
BlockUI
plugin: http://jquery.malsup.com/block/Ele permite que você bloqueie certos elementos de uma página ou a página inteira enquanto uma solicitação ajax está em execução.
fonte
Antes de sua chamada, insira a imagem de carregamento em um div / span em algum lugar e, em seguida, remova essa imagem na função de sucesso. Alternativamente, você pode configurar uma classe css como o carregamento que pode se parecer com isto
E então atribua essa classe a um span / div e apague-o na função de sucesso
fonte
algo assim:
fonte
Você pode adicionar ajax início e evento completo, este é um trabalho para quando você clica no botão evento
fonte
Agora mostre-o usando a função do elemento jquery show logo acima do seu ajax.
$('#example_load').show(); $.ajax({ type: "POST", data: {}, url: '/url', success: function(){ // Now hide the load element $('#example_load').hide(); } });
fonte
fonte