javascript - 如何使用通过 javascript 创建的 Coldfusion 删除 Cookie,反之亦然?

标签 javascript jquery cookies coldfusion

我正在通过代码使用 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/

相关文章:

javascript - 在 Visual Studio 2010 中运行 javascript 函数时出现无效 ID 错误

javascript - 人们可以在我的网站域上修改/创建 cookie 吗?

javascript - 使用 ng-animation-swap 进行两个方向的动画交换

javascript - 是否可以阻止 prettier 在 Promise.try 之后为 .then() {} 语句添加额外的选项卡?

javascript - 尝试在元素出现时执行单击功能

javascript - 创建一个三 Angular 形以防止内部内容溢出

javascript - jQuery ('body' ).text() 在不同的浏览器中给出不同的答案

php - 如何在 Laravel Lumen 中设置 Session 或 Cookie 的生命周期

php - Cookie 或 JavaScript

javascript - 从 Controller AngularJS 修改全局值