Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » javascript периодический запуск скрипта на сервере.

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

k18a

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Нужно на стороне сервера периодически запускать скрипт (на python пишу javascript только сейсас начал осваивать).
Вариант <meta http-equiv="refresh" content="0; url=http://site.com/muscript"> не подходит так как ожидаетса возможные таймаути и другие неопределенные ответы от скрипта на сервере.
Подскажите простой способ периодического запуск скрипта http://mysyte/my_script/ на сервере. Только setTimeout не подходит так как запуск скрипта должен быть сразу после ответа (время ответа может быть разным).
Я думал использовать <meta http-equiv="refresh" content="0; url=http://site.com/muscript"> в фрейме а с основой странице как то контролировать ситуацыю таймаута.
Короче буду благодарен за любые подсказки.

Всего записей: 11 | Зарегистр. 19-12-2008 | Отправлено: 14:50 29-09-2013
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
k18a

Цитата:
Только setTimeout не подходит так как запуск скрипта должен быть сразу после ответа (время ответа может быть разным).  

ответа чего?  
setTimeout + AJAX
 

Цитата:
Я думал использовать

зачем? делаете невидивый iframe, в нем, в качестве src - ссылку на скрипт.
и когда нужно - делаете ему reload

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 21:11 29-09-2013
k18a

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
ответа чего?  
 
Ответа сервера.
 

Всего записей: 11 | Зарегистр. 19-12-2008 | Отправлено: 23:06 29-09-2013
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
k18a

Цитата:
Ответа сервера.  

делаете ajax запрос.. как получили ответ - запускаете setTimeout
 
либо, как простой вариант, в том же iframe делаете обращение к скрипту (через мета тег, как написали выше).
скрипт генерит и выдает в браузер новую страницу с таким же метатегом по окончанию работы.
 
как только страница загрузится, запустится счетчик и по окончанию его снова будет запрос к скрипту

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 23:06 29-09-2013 | Исправлено: Cheery, 23:15 29-09-2013
k18a

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
делаете ajax запрос.. как получили ответ - запускаете setTimeout

Понятно! Разобрался:

Код:
<!DOCTYPE html>
<html>
<head>
    <title></title>
    <script type="text/javascript">
 
function getXmlHttp(){
  var xmlhttp;
  try {
    xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
  } catch (e) {
    try {
      xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    } catch (E) {
      xmlhttp = false;
    }
  }
  if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
    xmlhttp = new XMLHttpRequest();
  }
  return xmlhttp;
}
 
 
function get_rend_status() {
    var req = getXmlHttp();
    var statusElem = document.getElementById('rend_status');
    req.onreadystatechange = function() {
        // onreadystatechange активируется при получении ответа сервера
 
        if (req.readyState == 4) {
            if(req.status == 200) {
                statusElem.innerHTML = req.responseText
 
            }
            // тут можно добавить else с обработкой ошибок запроса
        }
        setTimeout("get_rend_status()", 1000);
    };
 
//    req.open('GET', url_rend_status, true);
    req.open('GET',url_rend_status, true);
    req.send(null);
    return req.responseText
}
 
    </script>
</head>
<body onload="url_rend_status='/test_ajax'; get_rend_status()">
 
<div id="rend_status">Текст</div>
</body>
</html>
 

Всего записей: 11 | Зарегистр. 19-12-2008 | Отправлено: 21:28 30-09-2013
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
k18a
можно и проще, через iframe, но как вам удобнее.

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 21:34 30-09-2013
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Интернет » Web-программирование » javascript периодический запуск скрипта на сервере.


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru