4

我在 W3Schools 上阅读了 AJAX 教程,做了一个基本相同的简单示例,但它会产生错误。如果好奇,教程就在这里:http: //www.w3schools.com/ajax/ajax_aspphp.asp

我想向 PHP 文件发送一个字符串(类似于链接中的第三个代码块),但我收到一个错误:“未找到元素”。Firefox 突出显示 PHP 文件的第 5 行,即?>.

带有 AJAX 代码的文件名为“getHello.html”(.html 是否正确?)并具有以下代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>AJAX Hello World Example</title>
    <script>
        function sayHello(str) {
            if (str.length == 0) {
                document.getElementById("showText").innerHTML = "Hello World!";
                return;
            }
            var xmlHttp = new XMLHttpRequest();
            xmlHttp.onreadystatechange = function() {
                if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {
                    document.getElementById("showText").innerHTML = xmlHttp.responseText;
                }
            }
            xmlHttp.open("GET", "sendHello.php?q="+str, true);
            xmlHttp.send();
        }
    </script>
</head>
<body>
    <input type="text" id="textIn" onkeyup="sayHello(this.value);"/><br/><br/>
    <div id="showText"></div>
</body>
</html>

PHP 文件名为“sendHello.php”,代码如下:

<?php
    $q = $_GET["q"];
    $response = "Hello World! Sent: ".$q;
    echo $response;
?>
4

2 回答 2

1

使用本地服务器和 HTML 编辑器,当您忘记您正在通过文件运行 HTML 时(在错误控制台上),您可能会收到此错误:协议

于 2013-06-16T17:00:46.013 回答
0

您的示例代码对我来说效果很好。刷新页面,如果您在您控制的服务器上运行并且它仍然无法工作,请重新启动服务器(您永远不知道,也许您打开了某种服务器端缓存)。是的,.html 是 getHello.html 的正确扩展名,因为它不包含任何 PHP 代码。

于 2013-02-25T03:25:42.337 回答