0
所以,我一直在學習cookies。我一直試圖從名爲'ItemCart'的cookie中刪除我在商店購物車中使用的某個產品散列。 Cookie的格式如下:爲什麼這個cookie在分配時不會改變它的值?
ItemCart = productHash;
但是,當我嘗試刪除它時,Cookie看起來像是以某種方式拒絕該更改。這裏是JS代碼:
var cookieRemoval = document.cookie.replace("ItemCart="+this.getAttribute("data-hash")+"; ", "");
document.cookie = cookieRemoval;
console.log(document.cookie + " should now be " + cookieRemoval);
如果數據散列是頁面的當前元素的數據屬性被點擊刪除哈希中的cookie。
下面是在控制檯(避免PHP的會話垃圾)輸出:
ItemCart=EyG439ktw8hT; should now be
這意味着替換功能做得正確,但該cookie不會改變。
這是某種程度上與不直接處理到期日有關嗎?
我真的不明白這裏發生了什麼。任何幫助表示讚賞。
所以,我可以保留字符串中存在的cookie的名稱,但刪除內容?我是否也應該擔心到期日?謝謝。 –
不,語法'document.cookie = x' does * not * mean「set document.cookie to x」;它意味着「根據描述x設置新的cookie」。實際上,我發佈的這一行只會做一件事:過期的ItemCart。其他Cookie不受影響。正如我所提到的,這很奇怪,需要一些習慣。 –
好吧,我明白了。我一直在對待它,這不是一個正常的變量。謝謝 –