Показать сообщение отдельно
  #1 (permalink)  
Старый 17.09.2017, 15:53
Кандидат Javascript-наук
Отправить личное сообщение для arkadii_parovozov Посмотреть профиль Найти все сообщения от arkadii_parovozov
 
Регистрация: 24.11.2016
Сообщений: 101

Как проверять нет ли изменений в БД?
Здравствуйте друзья!

На странице вывожу информацию из базы данных. Но в БД могут произойти изменения, и их (обновленные данные) нужно сразу-же вывести на страницу. Делаю таким образом:
var timer_id = setTimeout(function timer_load() {
$.post( 'ajax.php', {'new_value': 'a'}, function(data){
var arr_value = data.split(',');
		
		$("#echo1").html(arr_value[1]);
		$("#echo2").val(arr_value[2]);
		$("#rangeP").val(arr_value[3]);
		.........

	});
setTimeout(timer_load, 20);
}, 20);

Так-же на странице есть "бегунок"
<input type="range" oninput="onchangeRange()" class='rangeP' id="rangeP" value="0" min="0" max="255" step="1" />

и отлавливаю события по изменению значения:
function onchangeRange() {
	clearTimeout(timer_id);
	$.post( 'ajax.php', {'new_value': $("#rangeP").val()}, function(data){});
}

данные бегунка тоже записываю в БД. Но проблема в том что когда я двигаю бегунок, то он постоянно скачет и после того как я его отпускаю, то он возвращается на прежнею позицию и медленно перебирается на позицию где он был отпущен.

Тоже самое происходит и с другими элементами когда я хочу их отредактировать. Даже не всегда срабатывает нажатие кнопки. Я так понимаю что это происходит из за постоянных запросов к БД, и перезаписи всех значений на странице.

Может кто-то решал уже подобные задачи, подскажите как сделать так чтобы данные обновлялись с минимальной задержкой, и при этом, чтобы можно было нормально редактировать данные на странице?
Ответить с цитированием