Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

391
Vistas
Mostrar imagen de carga mientras se ejecuta $.ajax

Me pregunto cómo mostrar una imagen que indique que la solicitud asíncrona se está ejecutando. Uso el siguiente código para realizar una solicitud asíncrona:

 $.ajax({ url: uri, cache: false, success: function(html){ $('.info').append(html); } });

¿Algunas ideas?

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Por supuesto, puede mostrarlo antes de realizar la solicitud y ocultarlo después de que se complete:

 $('#loading-image').show(); $.ajax({ url: uri, cache: false, success: function(html){ $('.info').append(html); }, complete: function(){ $('#loading-image').hide(); } });

Por lo general, prefiero la solución más general de vincularlo a los eventos globales ajaxStart y ajaxStop, de esa manera aparece para todos los eventos ajax:

 $('#loading-image').bind('ajaxStart', function(){ $(this).show(); }).bind('ajaxStop', function(){ $(this).hide(); });
over 4 years ago · Santiago Trujillo Denunciar

0

Use las funciones beforeSend y complete del objeto ajax. Es mejor mostrar el gif desde adentro antes de Enviar para que todo el comportamiento se encapsule en un solo objeto. Tenga cuidado al ocultar el gif usando la función de éxito. Si la solicitud falla, probablemente querrá ocultar el gif. Para ello utilice la función Completar. Se vería así:

 $.ajax({ url: uri, cache: false, beforeSend: function(){ $('#image').show(); }, complete: function(){ $('#image').hide(); }, success: function(html){ $('.info').append(html); } });
over 4 years ago · Santiago Trujillo Denunciar

0

Código HTML :

 <div class="ajax-loader"> <img src="{{ url('guest/images/ajax-loader.gif') }}" class="img-responsive" /> </div>

Código CSS:

 .ajax-loader { visibility: hidden; background-color: rgba(255,255,255,0.7); position: absolute; z-index: +100 !important; width: 100%; height:100%; } .ajax-loader img { position: relative; top:50%; left:50%; }

Código JQUERY:

 $.ajax({ type:'POST', beforeSend: function(){ $('.ajax-loader').css("visibility", "visible"); }, url:'/quantityPlus', data: { 'productId':p1, 'quantity':p2, 'productPrice':p3}, success:function(data){ $('#'+p1+'value').text(data.newProductQuantity); $('#'+p1+'amount').text("₹ "+data.productAmount); $('#totalUnits').text(data.newNoOfUnits); $('#totalAmount').text("₹ "+data.newTotalAmount); }, complete: function(){ $('.ajax-loader').css("visibility", "hidden"); } }); }
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda