Si estás usando el método
$.ajax
, no puedes esperar a que se realice la redirección hacia el archivo destino pues el uso principal de una petición asíncrona es el de enviar y recoger datos consultando a un archivo en el lado del servidor sin la necesidad de recargar la ventana.
Para lo que buscas hacer, solo te basta con usar unas cuantas líneas de código:
Código Javascript
:
Ver original$(document).ready(function() {
$('#form').submit(function(event){
var self = this;
event.preventDefault();
$('#carga').show("slow", function(){
$(this).hide("slow", function(){
self.submit();
});
});
});
});
Con los métodos
show
y
hide
, muestras y ocultas al GIF, mientras que la función que le paso como segundo argumento a cada uno de estos métodos es el callback que se ejecutará al finalizar el método en cuestión. Finalmente, realizo el envío de los datos del formulario usando el método
submit
. Asigno el formulario a la variable
self
para que no ocurra un conflicto con el GIF al usar la palabra reservada
this
pues ya no aplicaría en el ámbito en el que realizo el envío de los datos.
Saludos