基本问题
我试图通过 socket.emit() 发送一个对象,但该对象没有被完全发送。我可能只是误解了如何做到这一点,但这是一个例子:
console.log(object)
结果是
{ length: 8,
models:
[ { attributes: [Object],
_escapedAttributes: {},
cid: 'c1',
changed: {},
_silent: {},
_pending: {},
_previousAttributes: [Object],
lots: [Object],
_changing: false,
collection: [Circular],
_callbacks: [Object] },
... ETC
尽管
socket.emit(e,object);
结果是 :
{"name":"read:AllAuctions","args":
[[{"auctionId":"298"},{"auctionId":"381"},{"auctionId":"385"},
{"auctionId":"393"},{"auctionId":"394"},{"auctionId":"395"},
{"auctionId":"402"},{"auctionId":"800"}]]}
它以后一种格式到达前端。
更多细节
我创建了一个服务器,它试图使用 socket.io 更新客户端骨干模型。其中一些正在使用此处指定的想法:
http://developer.teradata.com/blog/jasonsrimpel/2011/11/backbone-js-and-socket-io
不同之处在于我在后端创建了主干模型。我的逻辑是共享基本模型文件,并让后端处理与持久层通信并保持“真实”数据源优化,然后响应获取这些模型/集合的请求以及自动推送更新.
一切似乎都在工作,但我应该将模型转移到前端。我是否需要扩展/覆盖 toJSON 或其他实际将其转换为传输的方法?如果是这样,我该怎么做?您能给我的任何帮助将不胜感激!