我正在通过代码使用 javascript 创建 cookie
document.cookie="USERNAME=xyz";
之后我尝试通过代码使用 Coldfusion 删除相同的 cookie
<cfcookie name="USERNAME" value="0" expires="now"/>
但我无法删除 cookie,它仍然显示在浏览器控制台(firebug)中。 在转储 cookie 时,即使多次刷新页面,它也会显示由 javascript 创建的 cookie。
如果通过 Coldfusion 创建 Cookie 并尝试通过 JavaScript 删除它,也会发生同样的情况。 使用coldfusion,我能够获取cookie值或更改由javascript创建的cookie的cookie值,但无法删除该cookie。
使用此代码通过 Coldfusion 更改/设置 cookie 的值
<cfset coookie.USERNAME = 0>
有什么原因或者有办法删除吗?
最佳答案
我自己也在努力解决这个问题。对我来说,这是一个 preservecase
问题。默认情况下,使用<cfcookie>
设置cookie时标签,ColdFusion 将 cookie 设置为全部大写条目。因此,当您使用 <cfcookie>
删除它时它按预期删除,因为删除还会查找全部大写的 cookie。
但是,当使用 JavaScript 设置 cookie 时,很可能您设置的是小写(或混合大小写名称)的 cookie,因此当 CF 去删除 cookie 时,它无法删除该 cookie。找不到全部大写的版本。
当您要删除cookie时,请务必使用preservecase=true
<cfcookie>
上的属性标签。
编辑:再次阅读您的问题后,我注意到您的大小写似乎是正确的。然而,这是你肯定想要仔细检查的事情(根据我的经验),以及其他 cookie 属性(路径、域等)。
关于javascript - 如何使用通过 javascript 创建的 Coldfusion 删除 Cookie,反之亦然?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28584766/