我正在使用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,因为屏幕上的其他元素需要一段时间才能加载。
它可能是什么?
答案 0 :(得分:1)
试试这个:
'use strict';
const EventEmitter = require('events');
class MyEmitter extends EventEmitter {}
const temperatureSender = new MyEmitter();
然后在app.post内部:
temperatureSender.emit( 'sendTemp', temperature);
和io.on内部(&#39;连接&#39;,..):
temperatureSender.on('sendTemp', function(temperature) {
socket.emit('RecebTemp', temperature);
});