Я делаю приложение, которое постоянно (каждые 3 секунды) проверяет базу данных и записывает результат в виде таблицы в формате HTML с помощью jQuery.ajax(). У меня также есть нав бар, где вы выбираете, какую информацию загружать на стол, как это:Разрешить запуск только одного интервала
<div class="row">
<div class="col-xs-3">
<button type="button" class="btn" id="showPlaces">Mesas</button>
</div>
<div class="col-xs-3">
<button type="button" class="btn" id="showReservations">Reservaciones</button>
</div>
</div>
<div class="row">
<div class="col-lg-12">
<table class="table table-striped" id="result_table">
</table>
</div>
</div>
</div>
И я получил сценарий, который делает его работу:
var interval;
function showPlaces(){
$.ajax({
type:'GET',
url: 'places.php',
dataType: 'html',
success: function(result){
$('#result_table').html(result);
} // End of success function of ajax form
}); // End of ajax call
}
function showReservations(){
$.ajax({
type:'GET',
url: 'res.php',
dataType: 'html',
success: function(result){
$('#result_table').html(result);
} // End of success function of ajax form
}); // End of ajax call
}
function stopUpdate(){
clearInterval(interval);
}
$(document).ready(function() {
$('#showPlaces').click(function(){
stopUpdate(interval);
interval = setInterval(function(){ showPlaces()} , 3000);
});
$('#showReservations').click(function(){
stopUpdate(interval);
inverval = setInterval(function() { showReservations()}, 3000);
});
});
Когда я запускаю это я получаю нет ошибок, как только одна из кнопок нажата, интервал повторяется неопределенно (это я хочу). Если я нажимаю оба, они начинают переписывать друг друга каждые три секунды (я не хочу!), не следует остановить функцию stopUpdate выполнение интервал после нажатия одной из кнопок? Ответ может быть очевидным, но я Prety новичка в асинхронные сайтах
ваших запросов AJAX, вероятно, штабелирования и там несколько по-прежнему ожидает ответа, когда вы нажмете остановить, когда они приходят в них над писать – cmorrissey