我创建了一个简单的 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”文本只是有时出现而不总是出现。
为什么?我该如何解决?
最佳答案
唯一的解释是 AJAX 请求运行得太快而无法看到内容(正如 Alessandro Pezzato 所说)。如果您没有看到它,则 XMLHTTP 请求的 readyState 必须更改。
或者您有一些其他的 Javascript 异步运行并对相同的内容进行更改。
关于javascript - 预加载图像并不总是出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10912032/