Показать сообщение отдельно
  #1 (permalink)  
Старый 09.12.2012, 11:15
Аспирант
Отправить личное сообщение для Викториан Посмотреть профиль Найти все сообщения от Викториан
 
Регистрация: 09.04.2012
Сообщений: 65

Проблема с setInterval()
В общем, создаю такой вот код на странице:
<script type="text/javascript">
  responder_ajax = startajax(); // startajax - моя функция для создания потока
  oldas = 0; //предыдущее значение
  otvas = 0; //ответ сервера

  responder_ajax.onreadystatechange = function()
  {
   if (responder_ajax.readyState == 4)
   {
    if(responder_ajax.status == 200)
    {
     otvas = responder_ajax.responseText; // получаем ответ сервера
     alert(otvas); // проверка setInterval (далее поймете)
     if (otvas != -1)
     {
      //////////////////
      // какое - то действие
      //////////////////
     }
    }
   }
  }

  function openpost()
  {
   responder_ajax.open("GET", "/mods/users/indexator.php?login='.$_GET['login'].'&old_size="+oldas, true); // запрос на сервер с предыдущим значением (которое сейчас текущее)
   responder_ajax.send(null);  // отослать запрос
  }

  oldas = 15; // предыдущее значение (генерируется PHP)
  setInterval(function() { openpost(); }, 4000); // по идее каждые 4 секунды...
 </script>


Проблема в том, что "alert(otvas); // проверка setI...." срабатывает везде каждые 4 секунды, а в IE 8 только 1 раз, через 4 секунды после загрузки страницы.

Последний раз редактировалось Викториан, 09.12.2012 в 11:18.
Ответить с цитированием