2016-09-07 3 views
2

Сервер node.js, работающий с http://localhost:3000, устанавливает файл cookie для корневого пути (path: '/').

Есть два угловых приложения:

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

Оба приложения могут видеть все куки для http://localhost:3000 и path: '/'.

При использовании $cookies.remove(cookieName) от http://localhost:3000/#! приложение работает отлично.

При использовании $cookies.remove(cookieName) от http://localhost:3000/admin/#! он не удаляет куки.

Есть ли способ удалить файлы cookie из подкаталога без изменения пути на сервере? (Я предпочитаю не делать этого, так как оба приложения используют некоторые маршруты, которые используют файлы cookie).

+0

Пробовали ли вы смотрите на объект, возвращаемый '' функции $ cookies.getAll(), чтобы подтвердить, что куки даже установить? – Mike

+0

Да, у печенья есть – Miquel

ответ

4

Проблема в том, что модуль ngCookies предполагает, что все файлы cookie, которые вы редактируете, будут отнесены только к тому пути, в котором вы сейчас находитесь, и не позволяют редактировать другие файлы cookie, если вы специально не настроили его для этого. Если вы хотите отредактировать файл cookie по пути / от /admin Вам необходимо добавить объект в параметр param с индексом path, указав путь, указанный в файле cookie, который вы хотите удалить.

В вашем случае:

$cookies.remove(cookieName, {path: '/'}); 
Смежные вопросы