Javascript Can';t使用socketIO获取对象内部函数的值
我试图将一个对象从套接字文件传递到html文件,并打印出位于其中的函数值。但我总是犯这个错误 未捕获类型错误:无法读取未定义的属性“已确认” socket.jsJavascript 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 =
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数据。我建议只将
确认
作为布尔值发送