预装图像并不总是出现

时间:2012-06-06 10:01:03

标签: 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”文本有时只出现,而不是总是出现。

为什么?我该如何解决?

1 个答案:

答案 0 :(得分:0)

唯一的解释是,AJAX请求的工作速度太快,无法查看内容(如Alessandro Pezzato所说)。如果您没有看到它,则必须更改XMLHTTP请求的readyState。

或者您有一些其他Javascript,它们异步运行并对相同的内容进行更改。