2 Stimmen

Wie aktualisiert man das Verfallsdatum eines Cookies mit jQuery?

Ich möchte das Verfallsdatum eines Cookies über jQuery aktualisieren. Ich verwende die jQuery-Cookie-Plugin .

Hier ist der Code, mit dem ich das Verfallsdatum auf 8 Stunden in der Zukunft festgelegt habe:

var date = new Date();
date.setTime(date.getTime() + (8 * 60 * 60 * 1000));
$.cookie('myCookie', $.cookie('myCookie'), { expires: date });

Dadurch wurde ein neuer Cookie mit dem richtigen Namen, aber den falschen Attributen erstellt:

  • Der neue Cookie hatte den Wert [object Object] anstelle der ursprünglichen, durch kaufmännische Anführungszeichen getrennten Schlüssel-Wert-Cookie-Zeichenkette
  • Kein SSL-Flag (sicher) im neuen Cookie (altes Cookie hatte SSL-Flag auf true gesetzt)
  • Ablauf wurde auf das Beenden des Browsers gesetzt, anstatt 8 Stunden in die Zukunft

Was ist ein korrekter Weg, um nur das Verfallsdatum eines Cookies über jQuery zu aktualisieren?

2voto

Alex Reynolds Punkte 93906

Das scheint zu funktionieren:

var date = new Date();
date.setTime(date.getTime() + (8 * 60 * 60 * 1000));
var myCookieValue = $.cookie('myCookie');
$.cookie('myCookie', null);
$.cookie('myCookie', myCookieValue, { expires:date, secure:true, path:'/' });

0voto

Baptiste Pernet Punkte 3167

Just my two cents: was ist Ihr Cookie zunächst?

Ich versuche, Ihr Problem mit einem Cookie zu reproduzieren, das wie folgt initialisiert wird:

$.cookie("myCookie", "myValue")

und es hat funktioniert.

aber ich habe es mit einem Cookie versucht, das wie folgt initialisiert wird:

$.cookie("myCookie", {myParameter: "myValue"})

Ich glaube nicht, dass das Cookie jQuery-Plugin ist Design zu speichern Objekt. Sie können nur String-Wert zu speichern. so Wenn Sie so $.cookie("myCookie") gibt es zurück "[object Object]"

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