BASIC FRAGE
Ich versuche, ein Objekt durch socket.emit zu senden(), aber das Objekt nicht vollständig gesendet wird. Ich kann nur sein, Missverständnis, wie dies zu tun, aber hier ist das Beispiel:Ausstrahlen eines Backbone.js Modell durch Socket.io
console.log(object)
ERGEBNISSE IN
{ length: 8,
models:
[ { attributes: [Object],
_escapedAttributes: {},
cid: 'c1',
changed: {},
_silent: {},
_pending: {},
_previousAttributes: [Object],
lots: [Object],
_changing: false,
collection: [Circular],
_callbacks: [Object] },
... ETC
Während
socket.emit(e,object);
ERGEBNISSE IN:
{"name":"read:AllAuctions","args":
[[{"auctionId":"298"},{"auctionId":"381"},{"auctionId":"385"},
{"auctionId":"393"},{"auctionId":"394"},{"auctionId":"395"},
{"auctionId":"402"},{"auctionId":"800"}]]}
Es kommt zum Front-End in der Letztes Format.
WEISE MEHR DETAIL
Ich habe einen Server erstellt, die eine clientseitige Rückgrat Modell socket.io zu aktualisieren versucht. Ein Teil davon wird mit den Ideen, die hier angegeben:
http://developer.teradata.com/blog/jasonstrimpel/2011/11/backbone-js-and-socket-io
Der Unterschied ist, dass ich Rückgrat Modelle auf dem Backend erstellt haben. Meine Logik bestand darin, die grundlegenden Modelldateien zu teilen und das Back-End damit zu beauftragen, mit der Persistanzschicht zu kommunizieren und die "wahre" Datenquelle zu optimieren, aber dann auf Anfragen zum Abrufen dieser Modelle/Sammlungen sowie auf automatische Updates zu reagieren .
Alles scheint zu funktionieren, aber ich soll das Modell auf das Frontend übertragen. Muss ich JSON oder eine andere Methode, die es tatsächlich für den Transport konvertiert, erweitern/überschreiben? Wenn ja, wie mache ich das? Jede Hilfe, die Sie mir geben können, würde sehr geschätzt werden!
Ich dachte, dass das Problem auch sein könnte, aber es macht das gleiche. Besteht die Möglichkeit, dass ich die toJSON-Methode für diese Sammlung überschreiben muss, um sicherzustellen, dass sie auch den gesamten Körper jedes Kindmodells zurückgibt? Ich habe das versucht, aber ich könnte es falsch gemacht haben, weil es dasselbe zurückgebracht hat. – NateDSaint
Danke für Ihre Hilfe! Es stellt sich heraus, dass der Socket bereits versuchte, es mithilfe von toJSON zu codieren, aber meine toJSON-Funktion gab nur die Attribute der Modelle in der Sammlung zurück. – NateDSaint