• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

[FRAGE] Javascript Objekte speichern und laden

DerMicha

New member
Hallo,

ich programmiere schon lange Websites und bin hauptsächlich serverseitig mit PHP dabei. Allerdings sind bei meinem aktuellen Projekt doch sehr viele Objekte und somit Daten zu übertragen, zu ändern usw. Also soll es möglichst viel im Browser ablaufen und nur anfangs geladen und am Ende gespeichert werden. Sämtlicher Ereignisse und Useraktionen während das Programm benutzt wird, sollen nur Javascrip Objekte erstellen, ändern usw.

Doch wie die ganzen Daten, am besten die kompletten Objekte speichern, so dass der User die nächstes mal wieder zur Verfügung hat? Habe schon etwas gelesen, aber sowohl JSON als auch localStorage können keine Objekte mit Methoden speichern, beziehungsweise übertragen. Am liebsten wäre es mir, könnte ich die Objekte schnell und unkompliziert in einer MySQL Datenbank ablegen und wieder hervorholen.

Hoffe ihr habt da nen guten Tip parat, denn auf eine ständige Kommunikation mit dem Server würde ich gerne verzichten.
 
Ich glaube da habe ich genau das richtige für dich:
https://github.com/agektmr/binarize.js

Ob das nun aber Objekte samt Methoden "konvertiert" kann ich nicht 100 pro sagen.
Wie du den Arraybuffer mit PHP abspeicherst/weiterverarbeitest kann ich die leider auch nicht sagen. Mein PHP Kenntnisse sind seit dem es nodejs gibt gleich Null.
 
Habs jetzt nur mal kurz angeschaut, aber könnte die Lösung sein. Werde mich morgen mal damit beschäftigen und dann berichten.
 
Jo mach da mal würde mich auch interessieren und andre bestimmt auch.

Aber du solltest dir bewusst sein das dieses Verfahren natürlich auch TCP Bandbreite verschwendet.

Nachtrag:
JSON.stringify() und zum rückgängig machen JSON.parse(). Das hatte ich ja ganz vergessen.... Tja die "nodejsler" wider.
 
Zuletzt bearbeitet:
Doch wie die ganzen Daten, am besten die kompletten Objekte speichern, so dass der User die nächstes mal wieder zur Verfügung hat?
mit JSON, wie du schon selbst rausgefunden hast kannst du recht einfach komplette datenstrukturen vom client zum server übertragen und v.v.
im local storage kannst du auch nur clientseitig speichern, das ist aber für diesen fall eher nicht von interesse, daß nutzt man eher für einstellungs-/konfigurationszwecke pro user.

Habe schon etwas gelesen, aber sowohl JSON als auch localStorage können keine Objekte mit Methoden speichern, beziehungsweise übertragen.
warum/wie willst du methoden mit übertragen? das macht keinen sinn.
deine methoden sind schon da, als js code im client und arbeiten auf den übertragenen daten.
wenn du viele methoden hast, die meistens nicht benötigt werden, könntest du diese zur laufzeit laden. dafür gibt es z.b. require
 
Also das übertragen von Daten klappt schonmal ganz gut, aber so ganz glücklich bin ich mit dem JSON noch nicht. Während ich auf der ersten Seite noch den Namen mittels s1.getName() bekomme, geht das auf der 2ten Seite leider nicht mehr. Dort kann ich die Eigenschaft nur direkt über s1.name ansprechen. Das ist so natürlich nicht gewollt.

Würde jetzt wahrscheinlich auf Seite 2 ein neues Objekt meiner Klasse erzeugen und mit s1.setName(value); den Wert aus dem JSON Objekt da hinein schreiben.Werden ja wenns erstmal grundlegend funktioniert aufwändigere Objekte mit vielen Eigenschaften und Methoden.
 
Zurück
Oben