Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 9, 2013 11:39:57

Farsatanis
Зарегистрирован: 2013-08-09
Сообщения: 27
Репутация: +  0  -
Профиль   Отправить e-mail  

Динамическое обновление.

Всем привет. Есть написанная на джанге аппликуха ,которая выводит в браузер содержимое определенной директории. В директории лежат текстовые файлы. Соответственно можно их открыть и почитать - в браузере.
Собственно такой вопрос : каким образом сделть чтобы ,при обновлении содержимого файла ,одновременно менялось его содержимое показываемое на страничке. Я понял , что тут надо юзать ajax ,но с какого бока подойти не знаю. Может кто-то что-то подобное делал, и может у кого есть примеры подобных вещей. А то в принципе в теории есть представление как это сделать , но как говорится - это только теория

Если надо будет - код выложу.

Офлайн

#2 Авг. 9, 2013 16:20:24

inoks
От: Russia
Зарегистрирован: 2012-12-11
Сообщения: 343
Репутация: +  35  -
Профиль   Адрес электронной почты  

Динамическое обновление.

Стучишься каждые N секунд к url, если пришел ответ что есть обновления - запускаешь обновление.
В чем загвоздка?

Отредактировано FishHook (Авг. 9, 2013 16:31:05)

Офлайн

#3 Авг. 9, 2013 16:31:17

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Динамическое обновление.

А может быть лучше в веб-сокет по событию save вещать, меньше тупого траффика и дерганья базы?



Офлайн

#4 Авг. 9, 2013 18:11:47

Farsatanis
Зарегистрирован: 2013-08-09
Сообщения: 27
Репутация: +  0  -
Профиль   Отправить e-mail  

Динамическое обновление.

Проблема в том ,что я вообще не представляю как это будет выглядеть в коде. Я искал хоть что то похожее , но видать криво ищу. С ajax знаком буквально поверхностно , из-за этого как то не понимаю как это сделать.

Офлайн

#5 Авг. 9, 2013 18:40:52

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Динамическое обновление.

Аяксом Вы можете запросить что то у сервера. Если Вы не знаете, в какой момент на сервере наступит нужное Вам событие, то придётся периодически, скажем один раз в 5 секунд опрашивать сервер на предмет наступления события. Это нагрузка и на клиента и на сервер, особенно если по вашему запросу должна производиться выборка из БД.
Другое дело если вы установите соединение WebSocket, в этом случае сервер сможе сам сообщать клиентам о наступлении события.
Теперь, Вам надо гуглить.



Офлайн

#6 Авг. 9, 2013 19:10:32

Farsatanis
Зарегистрирован: 2013-08-09
Сообщения: 27
Репутация: +  0  -
Профиль   Отправить e-mail  

Динамическое обновление.

Да не , не думаю что WevSocket понадобится - там просто около 10 файлов - текстовых, надо просто чтобы их изменения без рефреша отображались на страничке.

inoks
Стучишься каждые N секунд к url, если пришел ответ что есть обновления - запускаешь обновление.

Как вот это можно сделать? Или может кто может привести подобный пример - ,а то я подобного что то не нашел.

Офлайн

#7 Авг. 12, 2013 12:50:39

Farsatanis
Зарегистрирован: 2013-08-09
Сообщения: 27
Репутация: +  0  -
Профиль   Отправить e-mail  

Динамическое обновление.

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)

Офлайн

#8 Авг. 12, 2013 13:12:47

Farsatanis
Зарегистрирован: 2013-08-09
Сообщения: 27
Репутация: +  0  -
Профиль   Отправить e-mail  

Динамическое обновление.

Короче вообще хз как это сделать , помогите ,я вас умоляю

Офлайн

#9 Авг. 12, 2013 13:19:52

Singularity
Зарегистрирован: 2011-07-28
Сообщения: 1387
Репутация: +  75  -
Профиль   Отправить e-mail  

Динамическое обновление.

Офлайн

#10 Авг. 12, 2013 13:30:13

Farsatanis
Зарегистрирован: 2013-08-09
Сообщения: 27
Репутация: +  0  -
Профиль   Отправить e-mail  

Динамическое обновление.

Что это? Я если честно хочу избежать сокетов. Пытаюсь пока просто посредством ajax забацать это - но глухо .А с сокетами я еще глыбже зароюсь (

Отредактировано Farsatanis (Авг. 12, 2013 14:15:06)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version