我有一小段 Javascript,我想每隔几秒钟轮询一次服务器并更新 DOM。
function updateCard() {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
card = JSON.parse(this.responseText);
document.getElementById("season").innerHTML = card.season;
}
};
xhttp.open("GET", "/curr_card/", true);
xhttp.send();
}
window.onload = updateCard;
window.setInterval(updateCard,2000);
在大多数浏览器上都会发生这种情况。有几个一次性调用updateCard
,但总的来说,服务器显示每个客户端每秒约 1/2 的连接。
但是,当我在 Android (49.0) 上的 Firefox 中访问该页面时,浏览器开始连续轮询/curr_card/
,每秒数十次。
我看到人们建议用 替换 setInterval 行window.setInterval(function() {updateCard();},2000);
,这没有帮助。
我对 Javascript 和 AJAX 还很陌生,所以不知道为什么会这样。这是FF中的错误吗?如果需要,我可以发布更多代码。
提前致谢。