我有两个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文件正确无误
答案 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();
//...
}