基本問題
我想通過socket.emit()發送一個對象,但對象沒有被完全發送。我可能只是誤會如何做到這一點,但這裏的例子:通過Socket.io發射Backbone.js模型
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/jasonstrimpel/2011/11/backbone-js-and-socket-io
不同的是,我已經創建的後端骨幹機型。我的邏輯是共享基本模型文件,並讓後端處理與持久層進行通信並保持「真實」數據源優化,然後響應請求來獲取這些模型/集合以及自動推送更新。
一切似乎都在工作,但是我應該將模型轉移到前端。我是否需要擴展/覆蓋到JSON或其他實際將其轉換爲傳輸的方法?如果是這樣,我該怎麼做?任何幫助,你可以給我將不勝感激!
我認爲這可能也是問題,但它也是一樣的。是否有機會我需要覆蓋該集合的toJSON方法以確保它也返回每個子模型的完整主體?我試過了,但我可能做錯了,因爲它返回了相同的東西。 – NateDSaint 2012-04-13 20:00:32
感謝您的幫助!事實證明,套接字已經試圖使用toJSON對其進行編碼,但是我的toJSON函數只返回集合中模型的屬性。 – NateDSaint 2012-04-16 15:22:44