Also habe ich über Cookies gelernt. Ich habe versucht, einen bestimmten Produkt-Hash, den ich in einem Shop-Einkaufswagen verwende, aus einem Cookie mit dem Namen "ItemCart" zu entfernen. Der Cookie ist auf diese Weise formatiert:Warum ändert dieser Cookie seinen Wert nicht, wenn er zugewiesen wird?
ItemCart = productHash;
Wenn ich jedoch versuche, es zu entfernen, scheint der Cookie die Änderung irgendwie abzulehnen. Hier ist der Code in js:
var cookieRemoval = document.cookie.replace("ItemCart="+this.getAttribute("data-hash")+"; ", "");
document.cookie = cookieRemoval;
console.log(document.cookie + " should now be " + cookieRemoval);
Wo Daten-Hash ein Datenattribut des aktuellen Elements der Seite angeklickt auf die Hash-in-Cookie zu entfernen. Hier
ist die Ausgabe in der Konsole (Vermeidung von PHP-Sitzung Müll):
ItemCart=EyG439ktw8hT; should now be
Dies bedeutet, dass die Ersetzen-Funktion richtig gemacht, aber das Cookie wird sich nicht ändern.
Ist das irgendwie nicht direkt mit dem Verfallsdatum zu tun?
Ich verstehe nicht wirklich, was hier vor sich geht. Jede Hilfe wird geschätzt.
Also, ich bin in der Lage, den Namen des Cookies in der Zeichenfolge vorhanden zu lassen, aber den Inhalt zu entfernen? Und sollte ich mich auch über das Ablaufdatum Gedanken machen müssen? Vielen Dank. –
Nein, die Syntax 'document.cookie = x' bedeutet * nicht *" set document.cookie to x "; es bedeutet "Setze einen neuen Cookie basierend auf Beschreibung x". In der Tat wird die Zeile, die ich gepostet habe, genau eines tun: Expire ItemCart. Andere Cookies sind nicht betroffen. Wie schon erwähnt, ist das ziemlich seltsam und gewöhnungsbedürftig. –
Ok ich verstehe. Es ist keine normale Variable, wie ich es behandelt habe. Vielen Dank –