$ cookies.remove不适用于http:// localhost / path /#!/

时间:2016-09-07 18:44:45

标签: angularjs node.js cookies

http://localhost:3000上工作的node.js服务器正在为根路径(path: '/')设置cookie。

有两个角度应用:

  • http://localhost:3000/#!
  • http://localhost:3000/admin/#!

这两个应用都可以查看http://localhost:3000path: '/'的所有Cookie。

使用$cookies.remove(cookieName)应用中的http://localhost:3000/#!时效果很好。

使用$cookies.remove(cookieName)中的http://localhost:3000/admin/#!时,它不会删除Cookie。

有没有办法从子路径中删除cookie而无需修改服务器中的路径? (我不愿意这样做,因为两个应用程序共享一些使用cookie的路由)。

1 个答案:

答案 0 :(得分:6)

问题是ngCookies模块假设您编辑的所有Cookie只会归因于您当前所在的路径,并且除非您专门配置它,否则不允许您编辑其他Cookie这样做。如果要从/编辑路径/admin上的cookie,则需要在对象参数中添加一个对象,其中path索引指向您要删除的cookie中设置的路径

在你的情况下:

$cookies.remove(cookieName, {path: '/'});