为什么它一直说“loading ...”,而不是显示data.php的内容?
xmlhttp = new XMLHttpRequest();
function getdata () {
xmlhttp.onreadystatechange = function () {
if(xmlhttp.readyState = 4 && xmlhttp.status == 200) {
document.getElementById('data').innerHTML = xmlhttp.responseText;
}
else {
document.getElementById('data').innerHTML = "loading...";
}
}
xmlhttp.open("GET", "data.php", true);
xmlhttp.send();
}
答案 0 :(得分:0)
我不知道为什么你总是得到“正在加载”......但你错过了比较运算符:
if(xmlhttp.readyState = 4 && xmlhttp.status == 200)
必须是
if(xmlhttp.readyState == 4 && xmlhttp.status == 200)
答案 1 :(得分:0)
您确定状态是200吗?
if(xmlhttp.readyState == 4 ) { //<-- typo
if(xmlhttp.status == 200) {
document.getElementById('data').innerHTML = xmlhttp.responseText;
} else {
document.getElementById('data').innerHTML = xmlhttp.status + ": " + xmlhttp.statusText;
}
} else {
document.getElementById('data').innerHTML = "loading...";
}
现在你说状态为零,这意味着你没有取消调用发出Ajax请求的函数的click事件/表单提交。我猜你正在使用内联事件处理程序,所以它看起来像这样:
<a href="foo.gif" onclick="getdata(); return false;">
<form onsubmit="getdata(); return false;">