Javascript 为什么XMLHttpRequest在本地托管文件中不工作?

Javascript 为什么XMLHttpRequest在本地托管文件中不工作?,javascript,php,ajax,google-chrome,Javascript,Php,Ajax,Google Chrome,我是HTML、PHP和web编程的初学者 我的第一个项目是一个连接到MySQL数据库的PHP页面。我正在使用此javascript代码将信息发送到另一个PHP页面: <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>ERP</title> <link rel="stylesheet" href=

我是HTML、PHP和web编程的初学者

我的第一个项目是一个连接到MySQL数据库的PHP页面。我正在使用此javascript代码将信息发送到另一个PHP页面:

    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>ERP</title>
    <link rel="stylesheet" href="css/bootstrap.min.css" />
    <link rel="stylesheet" href="css.css" />
    <script type="text/javascript" src="oXHR.js"></script>
    <script type="text/javascript"></script>
    <script>
        function DelRow(callback) 
        {
            alert("FIRSTALERT");
            var xhr = XMLHttpRequest();
            alert("SecondALERT");
            xhr.onreadystatechange = function() 
            {
                if (xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0)) 
                {
                    callback(xhr.responseText);
                }
            };
            var Comp = encodeURIComponent(document.getElementById("ComboBoxCompany").value);
            xhr.open("GET", "DeleteRow.php?Comp=" + Comp, true);
            xhr.send(null);
        }

        function readData(sData) 
        {
            alert(sData);
        };
    </script>
</head>

企业资源计划
函数DelRow(回调)
{
警报(“第一警报”);
var xhr=XMLHttpRequest();
警报(“第二警报”);
xhr.onreadystatechange=函数()
{
如果(xhr.readyState==4&&(xhr.status==200 | | xhr.status==0))
{
回调(xhr.responseText);
}
};
var Comp=encodeURIComponent(document.getElementById(“ComboBoxCompany”).value);
open(“GET”、“DeleteRow.php?Comp=“+Comp,true”);
xhr.send(空);
}
函数读取数据(sData)
{
警报(sData);
};
这个函数是由一个坏男孩调用的:

<input class="btn btn-primary" type="button" value="Confirmer" name="ConfirmDel" onclick="DelRow(readData)" />

如果你看一下我的javascript代码,我已经发布了2个警报。第一个正在出现,但第二个没有出现。getXMLHttpRequest似乎不起作用

我在用谷歌浏览器。我发现一些线程说我需要执行以下命令行:

C:\Users\User>C:\ProgramFiles(x86)\Google\Chrome\Application --允许文件 -从文件访问

但这并没有改变什么


我还不清楚,正在寻找一些见解。

如果你没有收到第二次警报,你几乎可以排除第二次警报之后出现的所有情况,因为它们都不会被执行。这使得问题很容易找到,因为它必须是这一行:

var xhr = XMLHttpRequest();
您只是缺少了
new
关键字

var xhr = new XMLHttpRequest();

在哪里定义了
getXMLHttpRequest
?ajax请求与此问题无关如果您没有收到第二个警报,您甚至还没有发送请求。将PHP从文件系统中调用???您需要使用本地服务器,该php文件不会神奇地运行。什么是
getXMLHttpRequest
?@epascarello它正在与XAMPP服务器一起运行。页面显示没有任何问题!实际上,在我按下帖子中描述的按钮后,getXMLHttpRequest的调用不起作用。@Kevin B我不知道它是在哪里定义的。我目前正在学习W3CSchool关于使用PHP的ajax的教程,他们就是这样展示的。还有其他方法吗?链接到教程,我的搜索阻止了所有w3schools链接,因此我无法找到它。再次感谢您的帮助!