javascript - 预加载图像并不总是出现

标签 javascript html css ajax

我创建了一个简单的 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/

相关文章:

html - 是否可以使 td 的内容不换行?

css - 使用css剪辑在固定位置div后面不可点击的链接

CSS 3 通过检查多个值的属性来选择元素

javascript - Jquery无法访问attr

javascript - 选择器仅在检查/选择元素后工作

javascript - 切换网站的颜色

javascript - 使用 JavaScript 检索伪元素的内容属性值

javascript - 动态创建的模态不起作用

javascript - d3js - 仅基于嵌套数据添加元素

javascript - 如何在突出显示输入、拖动、释放时让我的下拉列表保持打开状态?