deleting cookie from $cookies doesn't delete cookie in IE #3988
Description
Here's the situation:
The application is served from the root of a web server.
The index.html doesn't have a <base>
tag. The server sets a session cookie named XSRF-TOKEN with a path set to /
. This cookie is visible by the JS code, and is present in the $cookies object. But calling delete $cookies['XSRF-TOKEN']
or $cookies['XSRF-TOKEN'] = undefined
does not delete the cookie from the browser.
If, in debug mode, I set the cookiePath variable to '/' (in angular.js, in the cookies API), then the cookie is deleted.
If I add a <base href="/" />
to index.html, then the cookie is also deleted (but I don't see why I would need a base tag when the app is served from the root).
If I don't set the path of the cookie to /
, it isn't visible from JavaScript.
If I change the following line in angular.js :
rawDocument.cookie = escape(name) + "=;path=" + cookiePath + ";expires=Thu, 01 Jan 1970 00:00:00 GMT";
to
rawDocument.cookie = escape(name) + "=;expires=Thu, 01 Jan 1970 00:00:00 GMT";
then the cookie is deleted. But I'm not sure what the goal and importance of the path attribute is in this line.
This is with angular 1.2.0-rc.1.