Привет.
Я использую 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();
}