0
我有這個JavaScriptwindow.XMLHttpRequest在Chrome VS火狐
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) {
document.getElementById("sendalertsdiv").innerHTML = xmlhttp.responseText;
location.reload();
}
};
xmlhttp.open("GET","sendbdrdata.php?project=" + projectname,true);
xmlhttp.send();
它工作得很好,在Chrome中。它吸引了點擊一個按鈕。 sendbdrdata.php文件包含一個將數據上傳到數據庫的查詢。正如我在Chrome中撰寫的那樣,它非常完美。但在Firefox中,location.reload會阻止執行senddbrdata.php文件。如果我刪除線
location.reload();
它在Chrome和Firefox中正常工作,但它不會重新加載頁面,這是我需要在這裏。
IE7,IE6 ...... IE5 ??你是真的嗎? Netscape在哪裏? O_o –
如果你想提交數據到服務器,然後加載一個顯示結果的新頁面...... **你爲什麼使用Ajax?!**。只需提交表單並讓服務器HTTP 302重定向回顯示頁面即可。 – Quentin
嗯......如果FF在發送實際請求之前進入onreadystatechange事件並傳遞你的if語句,那將會非常奇怪。我不明白,爲什麼你想重新加載頁面。您可以嘗試延遲重新加載的執行。將該行替換爲'window.setTimeout('location.reload()',500);'。但那不乾淨... – StanE