嘿。
我正在使用AJAX(无框架)列出服务器上目录中包含的文档
第一:
“getfiles.php”询问MySQL目录是否受密码保护。如果是,则返回“!pw!”
所以如果responseText匹配“!pw!”应使用输入的密码触发第二个请求并返回文档列表。
Chrome和FireFox 3+& 4表现不错......但是输入密码后,IE6仍然拒绝加载List。
P.S。:对不起我的英语不好。
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();
}
答案 0 :(得分:0)
每次启动新请求时实例化新的XMLHttpRequest,而不是重用上一个实例。那应该解决它。