Как проверять нет ли изменений в БД?
Здравствуйте друзья!
На странице вывожу информацию из базы данных. Но в БД могут произойти изменения, и их (обновленные данные) нужно сразу-же вывести на страницу. Делаю таким образом: 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){}); } данные бегунка тоже записываю в БД. Но проблема в том что когда я двигаю бегунок, то он постоянно скачет и после того как я его отпускаю, то он возвращается на прежнею позицию и медленно перебирается на позицию где он был отпущен. Тоже самое происходит и с другими элементами когда я хочу их отредактировать. Даже не всегда срабатывает нажатие кнопки. Я так понимаю что это происходит из за постоянных запросов к БД, и перезаписи всех значений на странице. Может кто-то решал уже подобные задачи, подскажите как сделать так чтобы данные обновлялись с минимальной задержкой, и при этом, чтобы можно было нормально редактировать данные на странице? |
oninput="onchangeRange()"
onchangeRange() ... $.post Завалить сервер охота? |
setTimeout(timer_load, 20) - гораздо большее зло чем onchangeRange()
Поэтому я и обратился на этот форум, потому что не знаю каким образом реализовать вышеописанный алгоритм, чтобы не "завалить сервер" и не глючила вэб-страница. Мне нужно отслеживать БД в реальном времени (+/- 0.1 сек), при этом, также в реальном времени записывать данные в БД если на странице что-то изменилось. |
Цитата:
|
Часовой пояс GMT +3, время: 13:36. |