Exibir um loader enquanto processa o ajax – javascript jquery ajax
Pergunta:
Tem como mostrar uma mensagem do tipo: “Carregando…” enquanto meu ajax faz a operação?
AJAX
$.ajax({
url: url,
type: 'GET',
dataType: 'json',
success: function(data) {
console.log("sucesso");
},
error: function() {
console.log("erro");
}
});
tipo, antes de entrar no success: function(data){} mostrar um loader ou uma msg
Autor da pergunta Furlan
Resposta Silvio Andorinha:
Você pode fazer o seguinte:
$("div").html("<img src='imagem_gif_carregando.gif'>");
$.ajax({
url: url,
type: 'GET',
dataType: 'json',
success: function(data) {
$("div").html("Requisição concluída");
console.log("sucesso");
},
error: function() {
console.log("erro");
}
});
Colocar uma imagem dentro de uma <div></div> antes de fazer a requisição
$("div").html("<img src='imagem_gif_carregando.gif'>");
E depois que a requisição acabar remover a imagem da div
$("div").html("Requisição concluída");
Para além da resposta do Silvio, tens ainda outra forma válida de o fazer, usando o método beforeSend na requisição:
<div id="divCorpo"></div>
$.ajax({
url: url,
type: 'GET',
dataType: 'json',
beforeSend: function () {
//Aqui adicionas o loader
$("#divCorpo").html("<img src='imagem_gif_carregando.gif'>");
},
success: function(data) {
console.log("sucesso");
},
error: function() {
console.log("erro");
}
});



