Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Can';t使用socketIO获取对象内部函数的值_Javascript_Function_Object_Socket.io - Fatal编程技术网

Javascript Can';t使用socketIO获取对象内部函数的值

Javascript Can';t使用socketIO获取对象内部函数的值,javascript,function,object,socket.io,Javascript,Function,Object,Socket.io,我试图将一个对象从套接字文件传递到html文件,并打印出位于其中的函数值。但我总是犯这个错误 未捕获类型错误:无法读取未定义的属性“已确认” socket.js function querys() { var queryString1 = 'SELECT contacts.id, userId, contactId, confirmed, username FROM contacts LEFT JOIN users on contacts.contactId =

我试图将一个对象从套接字文件传递到html文件,并打印出位于其中的函数值。但我总是犯这个错误 未捕获类型错误:无法读取未定义的属性“已确认”

socket.js

function querys() {
                var queryString1 = 'SELECT contacts.id, userId, contactId, confirmed, username FROM contacts LEFT JOIN users on contacts.contactId = users.id WHERE userId = ?';
                var buddy = new Object();

                connection.query(queryString1,[id], function(err, rows, fields) {//look for all requests started by another user
                    if (err) throw err;
                    for (var i in rows) {
                        buddy[i] = (
                            {
                                id : rows[i].contactId, 
                                username : rows[i].username, 
                                sender : false, 
                                connectionId : rows[i].id,
                                confirmed : function() {
                                    if(rows[i].confirmed == 0)
                                        return false;
                                    else
                                        return true;
                                }
                            }
                        );
                    }
                    socket.emit('print', buddy);                    
                });
            }
html文件中的函数

socket.on('print', function(buddy) {
                    alert(buddy[0].confirmed());
                }

奇怪的是,如果您要求它打印对象的其他值,它确实会打印,但我似乎无法打印出对象内部的函数。

您不能通过socket.io传输函数,只能传输json数据。我建议只将确认的作为布尔值发送。

您不能通过socket.io传输函数,只能发送json数据。我建议只将
确认
作为布尔值发送