Форум сайта python.su
Всем привет. Есть написанная на джанге аппликуха ,которая выводит в браузер содержимое определенной директории. В директории лежат текстовые файлы. Соответственно можно их открыть и почитать - в браузере.
Собственно такой вопрос : каким образом сделть чтобы ,при обновлении содержимого файла ,одновременно менялось его содержимое показываемое на страничке. Я понял , что тут надо юзать ajax ,но с какого бока подойти не знаю. Может кто-то что-то подобное делал, и может у кого есть примеры подобных вещей. А то в принципе в теории есть представление как это сделать , но как говорится - это только теория
Если надо будет - код выложу.
Офлайн
Стучишься каждые N секунд к url, если пришел ответ что есть обновления - запускаешь обновление.
В чем загвоздка?
Отредактировано FishHook (Авг. 9, 2013 16:31:05)
Офлайн
А может быть лучше в веб-сокет по событию save вещать, меньше тупого траффика и дерганья базы?
Офлайн
Проблема в том ,что я вообще не представляю как это будет выглядеть в коде. Я искал хоть что то похожее , но видать криво ищу. С ajax знаком буквально поверхностно , из-за этого как то не понимаю как это сделать.
Офлайн
Аяксом Вы можете запросить что то у сервера. Если Вы не знаете, в какой момент на сервере наступит нужное Вам событие, то придётся периодически, скажем один раз в 5 секунд опрашивать сервер на предмет наступления события. Это нагрузка и на клиента и на сервер, особенно если по вашему запросу должна производиться выборка из БД.
Другое дело если вы установите соединение WebSocket, в этом случае сервер сможе сам сообщать клиентам о наступлении события.
Теперь, Вам надо гуглить.
Офлайн
Да не , не думаю что WevSocket понадобится - там просто около 10 файлов - текстовых, надо просто чтобы их изменения без рефреша отображались на страничке.
inoks
Стучишься каждые N секунд к url, если пришел ответ что есть обновления - запускаешь обновление.
Офлайн
var getData = function() { var xhr = new XMLHttpRequest(); xhr.open("GET", "/static/file.php", true); xhr.onload = function () { processData(this.responseText); } xhr.send(); } setInterval(getData, 1000); document.getElementById('/home/***/file.txt').innerHTML=text_data;
Отредактировано Farsatanis (Авг. 12, 2013 12:51:08)
Офлайн
Короче вообще хз как это сделать , помогите ,я вас умоляю
Офлайн
Офлайн
Что это? Я если честно хочу избежать сокетов. Пытаюсь пока просто посредством ajax забацать это - но глухо .А с сокетами я еще глыбже зароюсь (
Отредактировано Farsatanis (Авг. 12, 2013 14:15:06)
Офлайн