1
嘿。
我使用AJAX(沒有框架)列出包含在服務器上的目錄文件。
第一:
的「getfiles.php」問的MySQL如果該目錄是密碼保護。如果是,則返回「!pw!」。
所以如果responseText匹配「!pw!」應使用輸入的密碼觸發第二個請求並返回文檔列表。AJAX請求第二次和IE6
Chrome和Firefox 3 + & 4都做得很好......但IE6仍然拒絕加載列表時,密碼已鍵入後。
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();
}
你用過像小提琴手,看看Ajax調用熄滅。不工作意味着什麼? – epascarello 2011-03-14 12:30:40
我可以問 - 你是否反對使用像jQuery這樣的框架。您將大大減少編碼**,並且相當多地提高跨瀏覽器兼容性。 – Dutchie432 2011-03-14 12:34:25
這是一個未經測試的使用jQuery重寫代碼(例如)。 http://jsfiddle.net/Jaybles/6fhSJ/ – Dutchie432 2011-03-14 12:42:03