我正在尝试将一个对象从我的套接字文件传递到我的html文件,并打印出一个位于其中的函数值。但我一直收到这个错误 未捕获的TypeError:无法读取未确定的属性“已确认”
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());
}
奇怪的是,如果你要求它打印对象的其他值,但我似乎无法打印出对象内的函数。
答案 0 :(得分:0)
您无法通过socket.io传输函数,只能传输json数据。我建议只发送confirmed
作为布尔值。