在webstie上显示DB的值更改



我有一个带有传感器(accelerometor(的arduino,它会向我的DB发送一个值。该值随移动而递增1。

我设法在控制台日志中显示了这个值。但它在递增时不会更新。我确实有一个功能可以做到这一点,但它需要客户端的用户交互。

我想知道,当webbage在数据库中进行更改时,是否有可能以某种方式对其进行更改?

这是我的代码:

Javascript:

//gets the value from the DB and displays it on my webpage
firebase.database().ref('Reps').once('value').then (function(snapshot){
WemosGet = snapshot.val().Value;
document.getElementById("progressList").innerHTML=WemosGet;
console.log(WemosGet);
})

HTML:

<p>Repetitions left: <br><strong id="progressList"></strong></p></strong></p>

我之前尝试过的,使用用户onation:

output.innerHTML = slider.value
update=()=>{
output.innerHTML = slider.value; 
// Display the default slider value
console.log(slider.value)
setAmount = slider.value;
}
// Update the current slider value (each time you drag the slider handle)
slider.addEventListener('input', update);

因此,我希望在例如eventlistener检测到值已更改(递增(时进行更新。这会以类似的方式工作吗?对此,最好的方法是什么?IM不知所措。

使用on('value')而不是once('value')将侦听器附加到查询,以便每当该查询中的数据发生更改时都会调用它。once()只获取一次数据。我建议阅读文档来了解它的工作原理。

您可以使用具有定时间隔的AJAX来查询数据库(或者使用Websocket消息来更新需要更多资源才能实现的页面(。

最新更新