【发布时间】:2016-10-05 13:45:44
【问题描述】:
我正在使用 Socket ith,当我发送 POST / EnviaTemperatura 时,我的站点上没有自动更新。我做错了什么?
Node.js
app.post('/EnviaTemperatura', function(req, res){
temperatura = req.body.temp;
console.log(temperatura);
res.send('Temperatura: ' + temperatura);
});
io.on("connection", function(socket) {
socket.emit('RecebTemp', temperatura);
});
HTML
<div class="col-xs-9 text-right">
<div class="huge"><span id="EnviaTemp">0</span> ºC</div>
<div>Temperatura no Interior da casa</div>
</div>
<script>
var socket = io();
socket.on('RecebTemp', function (temperatura) {
document.getElementById("EnviaTemp").innerHTML = temperatura;
});
</script>
就我而言,它仅在我刷新页面时才更新。但我不想刷新整个页面,只刷新那个 DIV,就像屏幕上需要一段时间才能加载的其他元素一样。
会是什么?
【问题讨论】:
-
前端socket.on中正确接收温度?如果是,请改为 getElementById("EnviaTemp").innerHTML 尝试 getElementById("EnviaTemp").textContent = tempatura
-
这是因为服务器在连接时只发送了一次变量
temperatura。 -
@mk12ok 我如何改变这个?
-
如何更新变量
temperatura?数据从哪里来,客户端? -
@mk12ok 来自 Node.js 中的 Post 请求。然后它的帖子将每 5 秒接收一次数据
标签: javascript jquery html websocket socket.io