weixin_33691817 2018-09-23 12:25 采纳率: 0%
浏览 14

只能装载一张桌子

I have two html tables and php file which loads every 1 second throught ajax and passes info to tables.

Here it the 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>

And 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);

But now the problem is that only either of the table refreshes every 1 second not both. The php files are correct no problem in them

  • 写回答

1条回答 默认 最新

  • derek5. 2018-09-23 14:29
    关注

    A mistake! You have passed same function to setInterval.

    Change first of them to this:

    window.setInterval(loadXMLDoc, 1000);
    

    And second of them to:

    window.setInterval(loadXMLDo, 1000);
    

    Also: you can set only first interval. Now in body of the loadXMLDoc function you must call loadXMLDo yourself:

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

报告相同问题?