相同的cookie,ColdFusion和JavaScript之间的值不同

相同的cookie,ColdFusion和JavaScript之间的值不同,javascript,coldfusion,coldfusion-10,Javascript,Coldfusion,Coldfusion 10,我想用JavaScript和CF访问的cookie出现问题。我可以用JavaScript创建cookie,如下所示: document.cookie = 'SAVEDLISTINGS='+newc + ';path=/'; 在下一页中,CF可以很好地看到它。但是,如果我使用相同的JavaScript使用新值更新cookie,CF将不会在后续页面上检测到更改。它保留其原始值,这可以通过调试输出和转储Cookie范围来证明 JavaScript会继续看到正确的cookie值,我可以使用Firefo

我想用JavaScript和CF访问的cookie出现问题。我可以用JavaScript创建cookie,如下所示:

document.cookie = 'SAVEDLISTINGS='+newc + ';path=/';
在下一页中,CF可以很好地看到它。但是,如果我使用相同的JavaScript使用新值更新cookie,CF将不会在后续页面上检测到更改。它保留其原始值,这可以通过调试输出和转储Cookie范围来证明

JavaScript会继续看到正确的cookie值,我可以使用Firefox开发人员工具进行检查。我假设这意味着cookie文件正在正确更新。我没有看到两个具有相同名称的cookie:只有一个,它的值由JavaScript操纵

我可以使用JavaScript删除cookie

document.cookie = 'SAVEDLISTINGS=; expires=Thu, 01 Jan 1970 00:00:00 UTC' + ';path=/';
这也将从CF中删除cookie(在后续页面中)


请注意,我实际上并没有使用CFCookie来管理cookie,但我已经尝试过通过ColdFusion将其设置为空(httponly=no)。这似乎没有任何区别。

设置cookie的域值,以确保获得/设置的cookie完全相同。你可以用Firebug查看这些信息。您可以在下面看到两个名为“testName”的Cookie如何被视为基于域的独立实体。这一点很重要,这样不同的站点就可以拥有相同的cookie名称,而不会相互覆盖


我曾经尝试过通过ColdFusion将其设置为空(httponly=no)
-那么,通常ColdFusion的httponly=yes?你能检查一下cookie是否已经发送了吗?也许有什么东西会使它失效,并且永远不会发送回服务器。它应该在请求头中。在使用javascript设置传出请求并将其发送到后续页面后,使用开发人员工具检查传出请求。标题中是否设置了正确的cookie代码?