【发布时间】:2013-10-31 14:21:23
【问题描述】:
我在我的 Linux 机器上全新安装了 Appache 和 PHP。这是我想出的第一个脚本来测试这些东西是如何工作的:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 5//EN"
"http://www.w3.org/TR/html5/html5.dtd"
>
<html lang="en">
<head>
<title>First Ajax</title>
<script language="javascript" type="text/javascript">
var xmlhttp;
function getNum()
{
xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = callback;
xmlhttp.open("GET" , "random.php" , true);
xmlhttp.send();
}
//When Information comes back from the server
function callback()
{
if(xmlhttp.readyState==4 && xmlhttp.status==200)
{
alert("Ready")
document.getElementById('result').innerHTML = xmlhttp.responseText;
}
else
{
alert("Nope")
}
}
</script>
</head>
<body>
<div id="result">
</div>
<input type="button" value="Get Random Number" onclick="getNum()"/>
</body>
</html>
但是,xmlhttp.readyState==4 && xmlhttp.status==200 行的计算结果似乎为 false,因为返回了“Nope”。如果我用|| 替换&& 也是一样的。如果我从浏览器转到 localhost/random.php,它工作正常。我知道确切的代码适用于其他计算机。知道我卡在哪里了吗?
编辑:根据@Musa 的评论,我意识到readyState 等于1,status 为0,表示对象已创建,尚未调用send 方法(@987654321 @) 。反正我还是迷路了。
【问题讨论】:
-
@Musa 请阅读我在问题中的编辑。
标签: javascript php html ajax apache