/ / jQuery Ajax: - Como remover chamada ajax pendente e chamada ajax recente ativa? - ajax, jquery

jQuery Ajax: - Como remover chamada ajax pendente e chamada ajax recente ativa? - ajax, jquery

Eu estou usando jQuery.ajax para o meu site onde o usuário pode selecionar várias caixas de seleção. E a partir da caixa de seleção selecionada, o usuário obterá os dados.

Para cada caixa de seleção, ele está fazendo uma solicitação ajax e mostrando o resultado.

Mas estou enfrentando um problema em que suponho que o usuárioMarque a primeira caixa de seleção e desmarque a primeira caixa de seleção e selecione novamente a segunda caixa de seleção. Então, para selecionar a primeira caixa de seleção, ele faz a primeira chamada ajax e quando o usuário desmarca a primeira caixa de seleção, ele faz a segunda chamada de ajax e a segunda caixa de seleção faz a terceira chamada de ajax.

assim, simultaneamente, 3 chamadas do ajax estão ativas, mas eu quero uma maneira de abortar todas as chamadas anteriores do ajax que ainda estão pendentes ou em andamento e mostram o resultado conforme a última / recente chamada do ajax.

Código que estou usando para a chamada Ajax:

   jQuery.ajax({url: "/xyz.php",
success: function(data) {
//do something
}
});

Respostas:

1 para resposta № 1

Você pode fazer assim.

var CurrentAjaxReq = null;

if(CurrentAjaxReq != null)
{
CurrentAjaxReq.abort();
}

CurrentAjaxReq = jQuery.ajax({url: "/xyz.php",
success: function(data) {
CurrentAjaxReq  = null;
//do something
}
});

1 para resposta № 2

você pode cancelar a chamada do ajax primeiro,

var myAjax = jQuery.ajax({url: "/xyz.php",
success: function(data) {
//do something
}

});

//abort first and than send new ajax
myAjax .abort()