AJAX 2-й запрос и IE6 - PullRequest
       2

AJAX 2-й запрос и IE6

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

Привет.
Я использую AJAX (без фреймворка) для отображения документов, содержащихся в каталогах на сервере.
Первое:«Getfiles.php» спрашивает MySQL, защищен ли каталог паролем.Если да, возвращается «! Pw!».Так что, если responseText соответствует "! Pw!"второй запрос должен быть запущен с введенным паролем и вернуть список документов.

Chrome и FireFox 3+ & 4 работают хорошо ... но IE6 по-прежнему отказывается загружать список после ввода пароля.

PS: Извините за мой плохой английский.

function showFiles(str)
{
var xmlhttp = false;
if (str=="")
  {
  document.getElementById("txtHint").innerHTML="";
  return;
  }
  if (window.XMLHttpRequest) { // Mozilla, Safari,...
       xmlhttp = new XMLHttpRequest();
       if (xmlhttp.overrideMimeType) {
           xmlhttp.overrideMimeType('text/xml');
       }

   } else if (window.ActiveXObject) { // IE
       try {
           xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
       } catch (e) {
           try {
               xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
           } catch (e) {}
       }
   }

   if (!xmlhttp) {
       alert('Unfortunately you browser doesn\'t support this feature.');
       return false;
   }    
xmlhttp.onreadystatechange=function()
  {
  switch (xmlhttp.readyState)
    {
    case 4:
        if (xmlhttp.status==200)
            {
            if (xmlhttp.responseText.match("!pw!"))
                {
                var pw = prompt ("A Password is required!\nIf you don\'t have the Password, please ask your Colleagues","Passwort needed");
                xmlhttp.open("GET","getfiles.php?f="+str+"&pw="+pw,true);
                xmlhttp.send();
                }
            else
                {
                document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
                }
            }
            break;
    default:
        document.getElementById("txtHint").innerHTML="<div align=\"center\"><img src=\"../_img/wait.gif\"/></div>";
        break;
    }

  }
xmlhttp.open("GET","getfiles.php?f="+str,true);
xmlhttp.send();
}

1 Ответ

0 голосов
/ 03 апреля 2011

Создание нового XMLHttpRequest при каждом запуске нового запроса вместо повторного использования предыдущего экземпляра.Это должно это исправить.

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