我正在玩node.js而我遇到了一个问题,我无法以任何方式解决。在服务器端,我有一些对象,它们提供了用于管理它们的公共接口。但问题是在这个接口中我有函数,返回前端时无法访问。任何人都知道我做错了什么或为什么这是一个功能,而不是一个错误? 服务器端的示例测试代码:
socket.on('F-test', function(){
var o1 = {
A: 5
};
var o2 = function(){
this.A = function(){
return 5;
}
};
var o3 = function(){
var A = function(){
return 5;
}
return {
'A': A
}
};
var o4 = function(){
var that = this;
that.A = function(){
return 5;
}
return that;
};
var o5 = {
A: function(){
return 5;
}
};
socket.emit('B-test', {o1: o1, o2: new o2(), o3: new o3(), o4: new o4(), o5: o5});
});
在控制台中我得到了:
主持由no.de(Joyent)提供;
答案 0 :(得分:2)
问题是函数没有序列化。只有属性才会序列化。