2011-11-25 28 views

Respuesta

16

Debe utilizar $.ajaxComplete();

$(document).ajaxComplete(function() { 
    alert("compete"); 
}); 

esto se activaría después de cada Ajax llamada que hace en la página

de lo contrario se utilizan ajax() y establezca la propiedad completa

$.ajax({ 
    url: "myurl", 
    complete: function(){ 
       alert("complete"); 
      } 
    //set all the other options as usual 
1

Si desea hacer esto para una llamada en particular, entonces la función complete es probablemente lo que necesita. Si desea que esto sea global, para todas las llamadas ajax, entonces la respuesta de Nicola debería ser lo que necesita.

Aquí está el jQuery documentation para llamadas Ajax.

5

Puede utilizar la devolución de llamada a cualquiera de los métodos jQuery AJAX para retrasar la ejecución de otra función hasta que se complete la solicitud.

Ejemplo:

$.post('/some/url', somedata, function() { 
     // put the code you want to execute on completion here 
    }); 

Para los escenarios más complicados, utilice el método real ajax que le da ganchos para el éxito, la terminación, el error y otros eventos. Normalmente, solo necesitarías éxito y error.

$.ajax('/some/url', { 
     data: somedata, 
     type: 'post', 
     success: function(result) { 
      // success code execution here 
     }, 
     error: function(xhr,status,error) { 
      // error code here 
     }, 
     complete: function(xhr,status) { 
      // completion code here 
     } 
    }); 
Cuestiones relacionadas