我在服务器上有这个:

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/

10-15 21:44