只能装载一张桌子

时间:2018-09-23 12:25:27

标签: javascript php html ajax

我有两个html表和php文件,它们通过ajax每1秒加载一次并将信息传递给表。

此处为HTML:-

<div style='float: left;'>
   <br><br>
   <table class="table" id="btcaddresses">
      <tbody>
      </tbody>
   </table>
</div>
<div style="float: right;">
   <br><br>
   <table class="table" id="basiccubs">
      <tbody >
      </tbody>
   </table>
</div>

和Javascript:-

function loadXMLDoc() {
    var xmlhttp;
    if (window.XMLHttpRequest) {
        xmlhttp = new XMLHttpRequest();
    } else {
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.onreadystatechange = function() {
        if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
            document.getElementById("btcaddresses").innerHTML = xmlhttp.responseText;
        }
    }
    xmlhttp.open("GET", "get/sellusdbtc.php", true);
    xmlhttp.send();
}
window.setInterval(function() {
    loadXMLDoc();
}, 1000);

function loadXMLDo() {
    var xmlhttp;
    if (window.XMLHttpRequest) {
        xmlhttp = new XMLHttpRequest();
    } else {
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.onreadystatechange = function() {
        if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
            document.getElementById("basiccubs").innerHTML = xmlhttp.responseText; // your div
        }
    }
    xmlhttp.open("GET", "get/buyusdbtc.php", true); //your php file
    xmlhttp.send();
}
window.setInterval(function() {
    loadXMLDoc();
}, 1000);

但是现在的问题是,只有一个表每1秒刷新一次,而不是两者都刷新。 php文件正确无误

1 个答案:

答案 0 :(得分:2)

一个错误!您已将相同的函数传递给setInterval

首先将其更改为此:

window.setInterval(loadXMLDoc, 1000);

其中第二个是:

window.setInterval(loadXMLDo, 1000);

也:您只能设置第一个间隔。现在,在loadXMLDoc函数的主体中,您必须自己调用loadXMLDo

function loadXMLDoc() {
    //....
   document.getElementById("btcaddresses").innerHTML = xmlhttp.responseText;
    //...
    //here add this line:
    loadXMLDo();
    //...
 }