如何在node.js中将数组从服务器端传输到客户端

How do I get to transfer an array from the server side to client side in node.js?

本文关键字:服务器端 传输 客户端 数组 node js      更新时间:2023-09-26

我在客户端有以下函数:

                //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'
        });
};

问题是我似乎无法将接收到的数据记录到客户端的控制台中。我的代码有什么问题?

使用 JSON.stringify() 以正确的格式打印整个数据"

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

通过调用console.log('testing: ' + data);,Javascript试图通过调用toString将对象data转换为字符串。这将产生字符串"testing: [object Object]"。

您需要手动将对象转换为更有用的字符串,例如通过调用 JSON.stringify(data) ,或者您可以使用console.log可能接收多个参数的功能:

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

这样,您的控制台将打印 acutall 对象,而不是字符串表示形式。