cookie的路径问题
今天公司网站(不考虑跨域访问情况)有个需求就是在一个路径下存一个cookie
比如这样 www.fdf.com/vichain/dashback/myback 在这个目录下存放一个cookie
在这个路径下面可以看到我存放的cookie
但是在其他路径下
我却看不到cookie了,那怎么半啊,如果需要在这个目录下取,我刚才存放的cookie呢,
不用担心,现在就来总结一下,cookie的路径问题 (cookie的用法以$.cookie() 为准)
1.如果想在任何地方都可以访问你存放的cookie的话,那就把他存放在/ 根目录 像这样写 (都存在跟目录,如果多了就可能会重复,悠着点)
$.cookie(COOKIE_NAME, "xxxxx" , { path: '/', expires: 365 });
因为cookie的访问滚则是下级目录能访问上级目录的,但是上级目录不能访问下级目录的
2.可以直接把cookie存放在你要访问的那个目录 比如这样写
$.cookie(COOKIE_NAME, "xxxxx" , { path: '/dashback', expires: 365 });
这样虽然在当前目录下看不到cookie,但是在/dashback下就可以看到cookie
3.读取cookie
$.cookie(COOKIE_NAME);
只要本路径下有cookie的话就可以通过这样去取,
4.修改和清空cookie
1修改本路径下的 比如在 /dashback 路径下有个 COOKIE_NAME,那就这么写
$.cookie(COOKIE_NAME, "xxxxx" , { path: '/dashback', expires: 365 });
xxxxx 可以为新的cookie 也可以是null
2修改其他路径下的cookie 比如现在在 /dashback 下,想修改/login下的cookie COOKIE_NAME
$.cookie(COOKIE_NAME, "xxxxx" , { path: '/login', expires: 365 });
ps:虽然你在/dashback 路径下 不能看到这个cookie的,但是只要你执行了这段代码,/login 路径下的 这个cookie就会改变。
好了现在遇到的坑就这么多,其实cookie还有跨域访问的问题,这个先不讨论了,因为我还没有遇到需要跨域访问cookie'的情况,反正我就知道,只有子域名下的cookie可以跨域访问。好了,以后遇到的时候在总结,。。。祝大家周末愉快