我创建了一个简单的ajax请求:
var params = "postdata=" + mydata;
if (window.XMLHttpRequest) {
xmlhttp = new XMLHttpRequest();
} else {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function () {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
document.getElementById("data").innerHTML = xmlhttp.responseText;
}
}
xmlhttp.open("POST", "data.php", true);
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlhttp.setRequestHeader("Content-length", params.length);
xmlhttp.setRequestHeader("Connection", "close");
xmlhttp.send(params);
这是HTML代码:
<div id="data">
<img src="/images/preload.gif" />
<b style="color:#9ca6dc;font-size:12px;">Wait</b>
</div>
问题是preload.gif和“Wait”文本有时只出现,而不是总是出现。
为什么?我该如何解决?
答案 0 :(得分:0)
唯一的解释是,AJAX请求的工作速度太快,无法查看内容(如Alessandro Pezzato所说)。如果您没有看到它,则必须更改XMLHTTP请求的readyState。
或者您有一些其他Javascript,它们异步运行并对相同的内容进行更改。