2016-09-07 14 views
2

の場合、cookies.removeが動作しませんhttp://localhost:3000で動作するnode.jsサーバーがルートパス(path: '/')のクッキーを設定しています。どちらのアプリはhttp://localhost:3000path: '/'ために、すべてのクッキーを見ることができますhttp:// localhost/path /#!/

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

は、2つの角度のアプリがあります。

$cookies.remove(cookieName)http://localhost:3000/#!アプリから使用すると問題ありません。

$cookies.remove(cookieName)http://localhost:3000/admin/#!から使用した場合、クッキーは削除されません。

サーバー内のパスを変更することなく、サブパスからCookieを削除する方法はありますか? (私は両方のアプリがクッキーを使用するいくつかのルートを共有しているので、それをしないことを前提としています)。

+0

あなたはクッキーをしても設定されていることを確認するために、 '$ cookies.getAll()'関数によって返されたオブジェクトを見てみましたか? – Mike

+0

はい、クッキーはそこにあります – Miquel

答えて

4

ngCookiesモジュールでは、編集したすべてのCookieは現在のパスにのみ帰属すると仮定しており、特に設定しない限り他のCookieを編集することはできません。 /から/adminのクッキーを編集する場合は、削除するクッキーに設定されているパスを指すpathのインデックスを持つオブジェクトをオブジェクトのパラメータに追加する必要があります。あなたのケースでは

$cookies.remove(cookieName, {path: '/'}); 
関連する問題