我在服务器上有这个:
io.sockets.on('connection', function (client) {
client.on('message', function (message) {
try {
var incomingJSON = JSON.parse(message);
console.log("Message received");
console.log(incomingJSON.message);
console.log(incomingJSON.coordinates);
} catch (e) {
console.log(e);
client.disconnect();
}
});
});
而在客户端上:
var socket = io.connect('http://localhost:8008');
$("#ready").click(function(){
socket.emit("message", {message: "ready", coordinates: "21"});
});
我在node.js控制台上得到了这个,而不是我的消息:
[SyntaxError: Unexpected token o]
info: booting client
info: transport end by forced client disconnection
debug: websocket writing 0::
info: transport end (booted)
请帮助我将json从客户端发送到服务器,并告诉我我在做什么错。
对不起,我的英语。
最佳答案
您无需在on
事件中解析JSON。
只需将消息变量用作对象即可。
例如:
console.log(message.message);
关于javascript - 如何通过socket.io或http或Express发送JSON,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23588473/