我尝试发出事件"玩家移动"使用json-object:
this.broadcast.emit("player move", JSON.stringify(player));
但在客户端我得到了这个:
INFO: > 5:::{"args":[{"x":108,"y":105}],"name":"player move"}
哪个不显示活动。为什么是这样? (这是来自JavaScript中的socket.io框架。)
我正在使用socket.io 0.9.17
编辑:更多代码
client.on('player move', onPlayerMove);
然后功能:
function onPlayerMove(data) {
var player = playerWithId(this.id);
if (!player) {
util.log("Player not found: " + this.id);
return;
}
player.setX(data.x);
player.setY(data.y);
this.broadcast.emit("player move", JSON.stringify(player));
}
答案 0 :(得分:1)
如果我没有误会,你应该在第一个大括号和直接在方括号之后的撇号,这在JSON对象和JavaScript对象之间产生差异。 例如:
var text = '{ "employees" : [' +
'{ "firstName":"John" , "lastName":"Doe" },' +
'{ "firstName":"Anna" , "lastName":"Smith" },' +
'{ "firstName":"Peter" , "lastName":"Jones" } ]}';
我希望这能回答你的问题!