При обновлении контента всегда будет какое-то мерцание (в большинстве случаев незначительное). Чтобы уменьшить это еще больше, нужно иметь две таблицы и, как только фоновая таблица заполнится, затем поменять ее на передний план и продолжить обмен двумя представлениями, но, вероятно, в этом нет необходимости.
Чтобы свести к минимуму мерцание В этом случае я бы предложил переместить функцию .remove () в .done () в строке прямо перед .append (). Даже несмотря на то, что код работает быстро, иногда наши глаза видят небольшие задержки.
Это решение должно гарантировать, что данные не удаляются до тех пор, пока вызов AJAX не завершит возврат. Я также go сделал бы еще один шаг и проверил ответ, чтобы убедиться, что вызов успешно возвращен только для надежности.
var append_increment = 0;
setInterval(function() {
$.ajax({
type: "GET",
url: "{% url 'tables' %}",
data: {
' tables ': append_increment
}
})
.done(function(response) {
if (/* response['statusCode'] == 200 */) {
$("#_change tr").remove();
$('#_change').append(response);
append_increment += 0;
}
});
}, 5000)