lordabura
7/24/2016 - 3:04 AM

ajax cancelar multiples peticiones

ajax cancelar multiples peticiones

(function($) {
    var xhrRequests = [];
 
    // Cada vez que se hace una peticion, la agregamos al arreglo
    $(document).ajaxSend(function(e, jqXHR, options) {
        xhrRequests.push(jqXHR);
    });
 
    // Y al completarse la peticion la eliminamos del arreglo, de lo contrario se quedara para ser cancelada
    $(document).ajaxComplete(function(e, jqXHR, options) {
        xhrRequests = $.grep(xhrRequests, function(x) {
            return x != jqXHR;
        });
    });
 
    // Recorrer cada peticion y cancelarla
    var abandonarTodasLasPeticiones = function() {
        $.each(xhrRequests, function(idx, jqXHR) {
            jqXHR.abort();
        });
    };
})(jQuery);