2016-09-07 34 views
2

工作於http://localhost:3000的node.js服務器正在設置根路徑的Cookie(path: '/')。

有兩個角應用:

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

這兩個應用程序可以看到所有的cookies爲http://localhost:3000path: '/'

當使用$cookies.remove(cookieName)http://localhost:3000/#!應用程序它工作正常。

當使用$cookies.remove(cookieName)http://localhost:3000/admin/#!它不會刪除cookie。

有什麼辦法可以從子路徑中刪除cookie而不必修改服務器中的路徑? (我假設不這樣做,因爲這兩個應用程序共享一些使用cookie的路線)。

+0

你嘗試尋找由'$ cookies.getAll()'函數返回的對象,以確認該cookie被設置連? – Mike

+0

是的,cookie在那裏 – Miquel

回答

4

問題是,ngCookies模塊假定您編輯的所有cookie只會歸因於您當前所在的路徑,並且不允許您編輯其他cookie,除非您專門配置它來執行此操作。如果要在路徑/上編輯Cookie,請從/admin開始。您需要在對象參數中添加一個對象,其中path索引指向您要刪除的cookie中設置的路徑。

你的情況:

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