我在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;
?>
答案 0 :(得分:1)
使用本地服务器和HTML编辑器,当您忘记通过文件运行HTML时,可能会出现此错误(在错误控制台上):protocol
答案 1 :(得分:0)
您的示例代码对我来说很好。刷新页面,如果您在控制的服务器上运行,它仍然无法正常工作,也可以重新启动服务器(您永远不会知道,也许您打开了某种服务器端缓存)。是的,.html是getHello.html的正确扩展,因为它不包含任何PHP代码。