Ich kämpfe um den Wert eines <div id>
socket.io und document.getElementById nicht aktualisiert
hier zu aktualisieren ist die js:
var app = require('express')();
var server = require('http').Server(app);
var io = require('socket.io')(server);
var connected = 0;
server.listen(8080);
app.get('/', function(req, res){
//send the index.html file for all requests
res.sendFile(__dirname + '/index.html');
});
io.on('connection', function (socket) {
connected++;
console.log('A user connected to the server: ' + socket.id);
console.log('Connected Sockets = ',connected);
io.emit('Total_Connected', {data: connected});
socket.on('disconnect', function(){
connected--;
console.log('A user disconnected from the server: ' + socket.id);
console.log('Connected Sockets = ',connected);
io.emit('Total_Connected', {data: connected});
});
});
Und hier ist der html:
<html>
<head>
<script type="text/javascript" src="https://code.jquery.com/jquery-1.4.2.min.js"></script>
</head>
<body>
<H1>Live Viewers: <div id="Total_Connections"></div></H1>
<script src="/socket.io/socket.io.js"></script>
<script>
var socket = io.connect('http://192.168.0.17:8080');
socket.on('Total_Connected', function (data) {
var connected = data;
console.log('Connected = ', data);
document.getElementById("Total_Connections").innerHTML = data;
});
</script>
</body>
Der Webseiten-Ausgang ist: Live Viewers: [Objekt Objekt]
Warum erhalte ich das [Objekt Objekt] auf der Webseite?
Ich bekomme die richtigen Ergebnisse in der console.logs für Server und Client, aber nicht auf der Webseite. Was mache ich falsch?
Vielen Dank und schätze Ihre Antworten.
Ihre Daten sind ein JSON-Objekt, können Sie die Daten von Ihrem Server stringify das [JSON.stringify (...)] unter Verwendung von (https://developer.mozilla.org/en-US/ docs/Web/JavaScript/Referenz/Global_Objects/JSON/stringify) Methode. Aber ich würde vorschlagen, den notwendigen Teil in deinem JS vorher zu filtern. –