我有一个应用程序,我需要在cookie中存储一些信息。我有一个索引页面并将一些信息放入cookie(例如,一些变量名称)。索引页面cookie具有路径/Main/
。在另一个页面中,我需要阅读此cookie,如有必要,请修改它。但另一个页面cookie路径是/Main/info/
。浏览器只是创建一个新的cookie,但我需要覆盖它并在所有页面上使用与路径/Main/
相同的cookie。
我怎么能这样做?
答案 0 :(得分:2)
添加路径= /; 或在创建Cookie时指定路径。这将阻止浏览器为每个域创建重复的cookie。
对于其中一条评论,如果您查看Google Chrome以及它如何显示Cookie,它会显示路径。如果您使用相同的cookie名称而未指定路径,则会为每个cookie创建一个cookie。
注意:Internet Explorer不会执行相同的操作,每个域都有单个文本文件。
答案 1 :(得分:1)
您应该为所有SET-COOKIE
命令定义一个路径,而不依赖于所请求资源的子路径(例如path=/Main
)。通常,您应该使用尽可能长的路径...(但您必须使用相同的cookie获取所有资源的父路径。)
只应使用Root(/
),如果您的应用程序拥有完整的域,并且具有不同顶级路径的资源需要cookie(例如/main/...
,/secondary/...
和/unimportant/...
)
为什么:
答案 2 :(得分:0)
第二页需要将cookie路径显式设置为“/ Main”。
document.cookie = 'name=value; path=/Main/';