0

我创建了一个简单的 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”文本只是有时而不是总是出现。

为什么 ?我该如何解决?

4

1 回答 1

0

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

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

于 2012-06-06T10:13:10.543 回答