0

我有一个小演示页面来显示网站根据不同用户 cookie 的效果。然后我将click()一些功能设置div为使用插件 jquery.cookie.js,它提供了 2 个功能:

$.cookie('name', 'val')
$.removeCookie('name')

在我打电话后$.removeCookie(),我打电话window.open('new page')是因为我需要去内容。但 httpliveheader 总是显示它没有删除有问题的 cookie。

4

2 回答 2

0

OK,我找到了,是因为我的后端代码和前端JS设置的cookie路径不同。

我的 java spring MVC 控制器在我刚刚做的代码中有 /MyPath/Blah/ 的访问路径

httpServletResponse.addCookie(new Cookie("something", "something"));

结果默认为代码所在的路径,即 /MyPath/Blah/

但是 JS 设置了 $.cookie("something", "somevalue") 之类的东西,它进入了根目录。这就是为什么我在 httpLiveHeader 转储中看到 2 个不同的值。不幸的是,路径是由浏览器控制的,所以它不会出现在 liveheader 转储中。我是在检查了 mozilla 中的“删除 cookie”窗口后才发现的

于 2013-11-02T17:37:35.313 回答
-1

//例如 :

document.cookie = "cookie_name=" + encodeURIComponent(cookie_value) +

                          "; expires=" +  expires.toGMTString() +

                          "; path=/";

你需要设置PATH。

于 2013-11-01T01:38:28.153 回答