私はsocket.ioを使用するNode.jsプロジェクトを持っています。 socket.send(JSON.stringify({'type':'msg','message':'test'}));
JSONが正しくシリアル化されていない...と思いますか?
それがサーバーに到着すると、私はそれにJSON.parse
を呼び出し、object.type == 'msg'
かどうかを確認:その中で、私はこのようなクライアントからサーバにオブジェクトを送信してみてください。コードを実行してconsole.log(object.type)
を呼び出すと、"msg"
が返されますが、object.type == 'msg'
はfalseを返します。何が起きてる?
EDIT:失敗しているコードの
要部である:
client.on('message', function(message, client){
var envelope = JSON.parse(message);
console.log(envelope.type);
if(envelope.type == "msg") { console.log("yay!"); }
}
メッセージが入ってくるたびに、msg
をyay!
印刷ではなく、。
あなたは私達にあなたのサーバコードの一部を表示することができますか?今、私はこれが失敗する理由を考えることはできません。 –
あなたは「... msg、...を返す」と言っていますが、代わりにmsg *を持つオブジェクトを返すべきではありませんか? – Christian
@Ivo @Christian Clarified。 –