Wie legen Sie mehrere Schlüssel / Wert-Paare für einen Cookie fest?

8

Ich verwende diese Zeile, um mehrere Schlüssel-Wert-Paare gleichzeitig auf einen Cookie zu setzen

%Vor%

Es scheint, dass test1 nicht erfolgreich auf den Cookie gesetzt ist, denn wenn ich document.cookie in die Konsole schreibe, wird dieses Schlüssel / Wert-Paar nicht gedruckt. Wer weiß, wie man mehrere Schlüssel / Wert-Paare auf ONE cookie setzt?

    
Blake 21.07.2014, 13:07
quelle

2 Antworten

28

Es ist nicht sinnvoll, mehrere Schlüssel / Wert-Paare in einem Cookie zu speichern, da per Definition ein Cookie ein Schlüssel / Wert-Paar darstellt .

Ich glaube, Sie verstehen nicht gut wie document.cookie funktioniert . Es ist keine Standard-JS-Zeichenfolge: Wenn Sie sie festlegen, wird die darin enthaltene Cookie-Definition an die Liste der vorhandenen Cookies angehängt . Das heißt, Sie können mit dieser API nicht zwei Cookies gleichzeitig setzen.

Sie haben zwei Lösungen:

  • Verwenden Sie ein Cookie für jeden Schlüsselwert, den Sie speichern möchten:

    %Vor%
  • Speichern Sie ein einzelnes Cookie mit einer benutzerdefinierten Serialisierung Ihrer komplexen Daten, z. B. JSON:

    %Vor%
zopieux 21.07.2014, 13:18
quelle
4

Eigentlich denke ich, es wäre besser,
document.cookie = "myCookie=foo='bar'&baz='poo'; here is the rest of cookie specifications if you like..."
zu verwenden Soweit ich weiß, ist es auch kompatibel mit Asp und Asp.Mvc auf Serverseite:
string foo=Request.Cookies["myCookie"]["foo"]

    
Rzassar 04.08.2015 15:33
quelle

Tags und Links