我有 3 个变量要使用 socket.io 发送到客户端,即 mapRes
和 location
。
server.js
var mapRes = {width : 720, height: 1040};
var location = [{x:100,y:100,z:100},{x:200,y:200,z:200}];
var obj = {'1':{x:100,y:200}}, '2':{x:200,y:100}};
io.on("connection", function(socket){
socket.emit("mapRes",mapRes);
socket.emit("location",location);
socket.emit("object",obj);
}
client.html
socket.on('mapRes',function(message){
var mapRes = message;
console.log(mapRes);
});
socket.on('location',function(message){
var location = message;
console.log(location);
});
socket.on('object',function (message){
var object = message;
console.log (object);
});
在客户端(浏览器),第一个变量mapRes
按预期接收。
对象 { 宽度:720,高度:1040 }
但是,接收的第二个变量如下所示:
数组[对象,对象]
接收到的第三个对象如下:
对象 { 1:对象,2:对象}
有没有办法正确接收这些变量/对象?
最佳答案
它可能已正确发送,您只是没有看到整个对象。
这是由于 Firefox 在登录到控制台时折叠对象所致:
如果单击带下划线的对象,右侧面板应打开并显示有关该对象的更多详细信息。
关于javascript - Socket.io 发送数组时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30885027/