AJAX проблема в IE9? - PullRequest
0 голосов
/ 13 мая 2011

Я создал чат AJAX; и это работает в Chrome и FF, но, конечно, не в IE. Вот мой код:

<script language="javascript" type="text/javascript">
<!-- 
//Browser Support Code
function ajaxFunction(){
    var ajaxRequest; 
    try {
      ajaxRequest = new XMLHttpRequest();
    } catch (e) {
      try {
        ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
      } catch (e) {
         try {
           ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
         } catch (e){
           alert("Your browser broke!");
           return false;
     }
  }
    }

    ajaxRequest.onreadystatechange = function(){
      if(ajaxRequest.readyState == 4) {
        var ajaxDisplay = document.getElementById('ajaxDiv');
        ajaxDisplay.innerHTML = ajaxRequest.responseText;
      }
    }

    ajaxRequest.open("GET", "pull.php", true);
    ajaxRequest.send(null);  
}

setInterval( "ajaxFunction()", 1000 );

//-->
</script>

Результат никогда не отображается. У меня есть div по имени AjaxDiv, если это кому-нибудь поможет. Что я делаю неправильно? Это ошибка?

1 Ответ

6 голосов
/ 14 мая 2011

Вероятно, выдергивание кэшированной копии каждый раз, когда вы делаете запрос.

Либо установить правильные заголовки кэширования на сервере

header( 'Cache-Control: no-store, no-cache, must-revalidate' );
header( 'Pragma: no-cache' ); 

Или добавьте строку запроса к запросу get, как показано ниже

ajaxRequest.open("GET", "pull.php?ts=" + new Date().getTime(), true);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...