C'è un modo per verificare se c'è una richiesta di jax in corso? Qualcosa di simile:Richiesta Ajax in corso jQuery
if ($.ajax.inProgress){ do this; } else { do that; }
C'è un modo per verificare se c'è una richiesta di jax in corso? Qualcosa di simile:Richiesta Ajax in corso jQuery
if ($.ajax.inProgress){ do this; } else { do that; }
Si dovrebbe fondamentalmente impostare una variabile sulla parte superiore dello script insieme a false
e ajax dell'iniziato impostarlo true
e nel gestore success
impostarlo su false
nuovo come described here.
Se si ha il pieno controllo del codice javascript, è possibile incrementare una variabile ogni volta che si avvia una richiesta Ajax e la si decrementa al completamento della richiesta (con esito positivo, errore o timeout). In questo modo sai sempre se c'è una richiesta in corso.
sì, c'è
$.ajax({
type: 'get',
url: 'url',
data: {
email: $email.val()
},
dataType: 'text',
success: function(data)
{
if(data == '1')
{
$response.attr('style', '')
.attr('style', "color:red;")
.html('Email already registered please enter a different email.');
}
else
{
$response.attr('style', '')
.attr('style', "color:green;")
.html('Available');
}
},
beforeSend: function(){
$email.addClass('show_loading_in_right')
},
complete: function(){
$email.removeClass('show_loading_in_right')
}
});
il beforeSend farà il processo è necessario fare quando la richiesta Ajax è appena iniziata e completa sarete chiamati quando la richiesta Ajax è completa.
documentation
Non penso che questo risponda alla domanda dell'OP. Non vuole sapere come licenziare i gestori prima di inviare la richiesta o dopo che la richiesta è stata completata, vuole licenziare determinati eventi quando una richiesta è * in corso * ... – SexyBeast
segnalarti questo:
$(document).ready(function() {
var working = false;
$("#contentLoading").ajaxSend(function(r, s) {
$(this).show();
$("#ready").hide();
working = true;
});
$("#contentLoading").ajaxStop(function(r, s) {
$(this).hide();
$("#ready").show();
working = false;
});
$('#form').submit(function() {
if (working) return;
$.post('/some/url', $(this).serialize(), function(data){
alert(data);
});
});
});
Per interrompere richiesta AJAX, Usa
if($.active > 0){
ajx.abort();//where ajx is ajax variable
}
Per continuare l'esecuzione richiesta AJAX, Usa
if($.active > 0){
return;
}
Non riesco a trovare alcuna documentazione riguardante $ .active. Puoi mostrare qualche esempio per applicare questa funzione? –
@Ganesh, dai un'occhiata a questi post: http://stackoverflow.com/questions/3148225/jquery-active-function. – StartCoding
A volte le migliori soluzioni sono le più semplici :) Grazie! – bah
@bah: siete i benvenuti e d'accordo :) – Sarfraz
Ciao! Sto testando una pagina Web e vorrei sapere come farò a sapere quando la richiesta Ajax è completa utilizzando uno script Java (cioè non ho il controllo della pagina Web, posso semplicemente inserire uno script Java)? –