2016-04-25 152 views
0

我在客戶端有以下功能:如何在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' 
     }); 
}; 

的問題是,我似乎無法登錄了接收到的數據客戶端的控制檯。我的代碼有什麼問題?

+1

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

+0

@dandavis它的工作!這是我的錯,請提交您的答案,所以我接受它,並感謝一羣 – abedzantout

+0

在連接功能中放置一個日誌,並檢查它是否連接 –

回答

0

使用JSON.stringify()在適當的formate`

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

打印整個數據通過調用console.log('testing: ' + data);,JavaScript是試圖將對象data轉換爲字符串,通過調用toString。這將導致字符串「testing:[object Object]」。

您需要手動將對象轉換爲更有用的字符串,例如通過調用JSON.stringify(data),或者您可以使用該功能是console.log可能會收到多個參數:

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

這樣,你的控制檯打印acutall對象,而不是一個字符串表示。

相關問題