我试图传递一个名为" usernames"的数组。给客户。 这是服务器端的代码:
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]);}
});
警报只是&#34;未定义&#34;。 我做错了什么?
答案 0 :(得分:1)
刚刚找到答案!
socket.on('connected_users', function (data){
onlinecounter=data.total;
alert(data.total);
for (var key in data.name) {
online[i]=key;
alert(key);
}
});
这解决了我的问题就像@Matt说的那样,usernames变量实际上是一个对象,其属性:key等于username:username,我只需要它的属性名称或密钥。在这种情况下,我得到了钥匙。