Ajax responseText Null в Internet Explorer? - PullRequest
2 голосов
/ 12 марта 2011

У меня есть простой код AJAX.Все, что я хочу сделать, это загрузить страницу php в контейнер, но в Internet Explorer я получаю ошибку: SCRIPT5007: Невозможно установить значение свойства 'innerHTML': объект имеет значение null или не определено.Это означает, что Internet Explorer видит xmlhttp.responseText как ноль.Это делается любым способом, которым я пытался получить ResponseText.Вот мой код:

 function changeSort(type, order)
    {
    var xmlhttp;
    var container = document.getElementById("content");

    if (window.XMLHttpRequest)
      {// code for IE7+, Firefox, Chrome, Opera, Safari
      xmlhttp=new XMLHttpRequest();
      }
    else
      {// code for IE6, IE5
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
    xmlhttp.onreadystatechange=function()
      {
      if (xmlhttp.readyState==4 && xmlhttp.status==200)
        {
      container.innerHTML = xmlhttp.responseText; //Error Line
        }
      }
xmlhttp.open("GET","Scripts/tag.php?sort=ASC&&tag=All%20Games&&type="+type,true);
xmlhttp.send();
}

Есть идеи?

1 Ответ

1 голос
/ 12 марта 2011

Невозможно установить значение свойства 'innerHTML': объект является нулевым или неопределенным.Это означает, что Internet Explorer видит xmlhttp.responseText как ноль.

Нет, это означает, что Internet Explorer видит container как ноль.Если бы вы попытались установить значение null на innerHTML, оно было бы приведено к строке 'null'.

Возможно, IE не смог найти элемент с идентификатором content вв то время назывался документ changeSort.

"Scripts/tag.php?sort=ASC&&tag=All%20Games&&type="+type

Вы уверены, что имеете в виду двойной амперсанд?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...