3 Stimmen

JavaScript / PHP Cookie Serialisierungsmethoden?

Ich habe ein Formular, dessen Werte ich in einem Cookie speichern möchte, damit der Benutzer das Formular bei jedem Besuch nicht erneut eingeben muss. (Das Formular besteht aus einigen Selects zur Filterung von Suchergebnissen.)

Ich möchte, dass die Cookie-Serialisierung leicht lesbar ist von JavaScript (offensichtlich, um das Formular onLoad zu setzen), aber ich möchte auch das Cookie leicht von PHP aus lesen können (um die Formulardaten zur Filterung von Suchergebnissen verwenden zu können).

Wie kann ich ein Formular mit Selects, bei denen multiple="multiple" gesetzt ist, in ein Cookie serialisieren und es leicht lesbar in JavaScript und PHP machen?

Bitte predigen Sie nicht über Validierung, das mache ich auf der Serverseite richtig.

Wenn es eine intelligentere Lösung für mein Problem gibt, lassen Sie es mich bitte wissen.

Übrigens: Auf dem Server verwende ich CodeIgniter und die JavaScript-Bibliotheken Prototype/Scriptaculous.

Lösung: Verwendete Prototypes Object.toJSON(Form.serialize(form, true)) für JavaScript und verwendete PHPs json_decode(string, bool), um ein assoziatives Array in PHP aus dem JSON zu erhalten.

6voto

Gumbo Punkte 617646

Sie könnten das JSON-Format verwenden, das bereits in mehreren Sprachen implementiert ist.

1voto

danieltalsky Punkte 7346

Ich würde YAML empfehlen. Es wurde im Wesentlichen als gemeinsame Serialisierungsmethode für mehrere Sprachen entworfen, darunter JavaScript und PHP.

Von der YAML-Website:

YAML wurde entwickelt, um den Serialisierungsbedarf von Perl, Python, Ruby, Tcl, PHP, Javascript und Java zu decken. Es wurde auch so konzipiert, dass es zwischen diesen Sprachen interoperabel ist. Das bedeutet, dass YAML-Serialisierungen, die von Perl erstellt wurden, von Python verarbeitet werden können.

Hier ist ein Artikel auf Sitepoint zum Thema:

http://www.sitepoint.com/blogs/2004/04/22/serializing-php-data-structures-for-javascript/

Die YAML-Website:

http://www.yaml.org/

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X