Chrome与FireFox中的window.XMLHttpRequest

时间:2017-08-17 09:04:31

标签: javascript php

我有这个javascript

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中运行良好,但它不会重新加载页面,这就是我需要的。

1 个答案:

答案 0 :(得分:1)

location.reload();会将页面从服务器重新加载到服务器传递的任何初始状态,即没有从AJAX调用中新收集的数据。所以删除重新加载。 AJAX的想法是你可以从服务器获取数据,而不必重新加载整个页面。