jquery — clearInterval () не работает в ajax в php с методами get и post, вызываемыми при submit

Я использую setInterval, а затем не могу очиститьInterval в моем коде. Пожалуйста, смотрите код
Я получаю значение завершения, и это правда, а также ввод оператора if, но clearInterval по-прежнему не работает. Я устал и пытаюсь последние 10 часов, но не могу найти ошибку. Я проверяю console.log, и он не останавливает интервал.

jQuery(document).ready(function() {
var complete = false;
var Interval;

jQuery( "#form" ).submit(function() {
Interval = setInterval(get, 100);
post();
return false;
});

function post(){

var url = "my/url/here";

var data = {
'action': 'action/here',
'name': 'value'
};
jQuery.post(url, data, function(response) {
jQuery("#emails").html(response);
}).done(function() {
//alert( "second success" );
})
.fail(function() {
//alert( "error" );
})
.always(function() {
complete = true;
//alert( "finished" );
});

} // End post()
function get(){

var url = "url/goes/here";

if(complete == true){
clearInterval(Interval);
}
var data = {
'action': 'action/here',
};

jQuery.get(url, data, function(response) {
console.log(response);
jQuery("#progress").html(response);
});

} // End get()

});

вот оригинальный код ниже. вызов ajax работает нормально, но clearInterval () не работает

<script type="text/javascript" >
jQuery(document).ready(function() {

jQuery(".juee_emails_row").hide();

var juee_complete = false;
var juee_Interval;

jQuery( "#juee_form" ).submit(function() {
jQuery(".juee_emails_row").show();
juee_Interval = setInterval(juee_get, 100);
juee_post();
return false;
});

function juee_post(){
var data = {
'action': 'juee_get_emails',
'juee_data_option': jQuery('input[name=juee_data_option]:checked', '#juee_form').val()
};
jQuery.post(ajaxurl, data, function(response) {
jQuery("#juee_emails_td").html(response);
}).done(function() {
//alert( "second success" );
})
.fail(function() {
//alert( "error" );
})
.always(function() {
juee_complete = true;
//alert( "finished" );
});

} // End juee_post()
function juee_get(){
if(juee_complete == true){
clearInterval(juee_Interval);
}
var data = {
'action': 'juee_progress',
};

jQuery.get(ajaxurl, data, function(response) {
console.log(response + " email found");
jQuery("#juee_progress_td").html("");
jQuery("#juee_progress_td").html(response);
});

} // End juee_get()

});
</script>

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]