为什么XMLHttpRequest无法在本地托管文件中运行?

时间:2015-08-13 19:49:00

标签: javascript php ajax google-chrome

我是HTML,PHP和网络编程的初学者。

我的第一个项目是连接到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>

这个坏男孩就在这里调用这个函数:

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

如果你查看我的javascript代码,我已经提出了2个警报。第一个出现,但第二个不出现。似乎getXMLHttpRequest无效。

我正在使用Google Chrome。我发现一些线程说我需要执行这个命令行:

  

C:\ Users \ User&gt; C:\ Program Files(x86)\ Google \ Chrome \ Application   --allow文件   -access从 - 文件

但它什么都没改变。

我在黑暗中寻找一些见解。

1 个答案:

答案 0 :(得分:1)

如果您没有收到第二个警报,那么您几乎可以排除第二个警报之后的所有内容,因为它们都不会被执行。这使问题非常容易追踪,因为它必须是这一行:

var xhr = XMLHttpRequest();

您只是错过了new关键字。

var xhr = new XMLHttpRequest();