Я пытаюсь создать окно журнала для моего сайта, который передает сообщения журнала python в всплывающее окно javascript. Я дошел до того, что, если я закрою окно и снова открою его, появятся новые сообщения, но я хочу написать javascript, который автоматически обновляет окно (и вызывает dajaxice) каждые N секунд.Использовать Dajax для отправки сообщений журнала
Мой ajax.py:
@dajaxice_register(method='GET')
def getLogs(request):
fname = "/path/to/LOG_2015-07-08.log"
with open(fname,"r") as f:
lines = f.readlines()
lines = lines[-15:] //
logger.info("Displaying Logs")
return json.dumps({'message':lines})
Мой HTML:
<script language="javascript" type="text/javascript">
function popitup(data) {
sessionStorage.setItem("logs",data.message);
newWindow = window.open('/InterfaceApp/LogViewer', 'Log Viewer', 'height=400,width=800,status=yes');
if(newWindow && !newWindow.closed){
newWindow.location.reload(true); //this is my first attempt at a refresh, wasn't quite what I wanted.
newWindow.focus();
}
}
</script>
<div class="container">
<input id="LogMessages" type="button" value="View Log Messages" onclick="Dajaxice.InterfaceApp.getLogs(popitup)"/>
</div>
Повторюсь, я хочу, чтобы нажать на кнопку, и есть всплывающее окно придумать. Я хочу, чтобы это всплывающее окно обновляло каждые N секунд с последними 15 строками моего файла журнала (строки добавляются в журнал каждый раз, когда пользователь перемещается по сайту). Функция dajaxice в ajax.py
- это то, что захватывает файлы журнала, так что каким-то образом вызов должен быть включен в обновление.
Может ли кто-нибудь помочь мне с этим? Я боролся с этим в течение нескольких дней.
Спасибо!