Socket.io将数组传递给客户端
我试图将一个名为“用户名”的数组传递给客户端。 以下是服务器端的代码:
var usernames = {}; var numUsers = 0; socket.on('online users', function () { io.emit('connected_users', { name: usernames, total: numUsers }); });
这是客户站点:
var online=[] var onlineNum=0; function headcount(){ socket.emit('online users'); } socket.on('connected_users', function (data){ onlineNum=data.total; for(i=0; i<onlineNum; i++){ online[i]=data.name[i]; alert(data.name[i]);} });
警报只是“未定义”。 我究竟做错了什么?
刚刚find了答案!
socket.on('connected_users', function (data){ onlinecounter=data.total; alert(data.total); for (var key in data.name) { online[i]=key; alert(key); } });
这就像@Matt所说的那样解决了我的问题,用户名variables实际上是一个具有属性:key等于username:username的对象,我只需要它的属性名称或者键值。 在这种情况下,我得到了关键。