2016-04-25 10 views
0

I次のクライアント側の機能があります。node.jsのサーバー側からクライアント側に配列を転送する方法を教えてください。

   //TODO: to fix 
       var socket = io.connect('http://localhost:3000/home'); 
       socket.on('news', function (data) { 
        console.log('testing: ' + data); 
        //socket.emit('my other event', {my: 'data'}); 
       }); 

とサーバー側で次のように:

module.exports = function(app, io) { 

    app.get('/home',function(req, res){ 
     //res.render('profile.ejs'); 
    }); 
    io.on('connection', function(socket){ 
     socket.emit('news', { 
     data: 'world' 
     }); 
}; 

問題は、私は、受信したデータをログに記録するように見えることができないということですクライアントのコンソール。私のコードに何が問題なのですか? console.log('testing: ' + data);を呼び出すことにより、適切formate`

console.log('testing: ' + JSON.stringify(data)); 
+1

'console.log( 'testing:'、data);' – dandavis

+0

@dandavisそれは働いた!それは私のせいでしたので、私はそれを受け入れ、束を感謝するので、あなたの答えを提出してください – abedzantout

+0

接続機能にログを入れ、それが接続されているかどうかをチェックしてください –

答えて

0

使用JSON.stringify()は、JavascriptがtoStringを呼び出して、文字列にオブジェクトdataを変換しようとしています。これにより、文字列 "testing:[object Object]"が生成されます。

オブジェクトをより便利な文字列に手動で変換する必要があります(例:あなたのコンソールが文字列表現acutallオブジェクトを印刷していません。この方法で

console.log('testing:', data);

JSON.stringify(data)、またはを呼び出すことによって、あなたはconsole.logは、複数の引数を受け取ることができるという特徴を利用することができます。

0

で全体のデータを印刷するための

関連する問題