Skip to content
This repository was archived by the owner on Apr 12, 2024. It is now read-only.
This repository was archived by the owner on Apr 12, 2024. It is now read-only.

deleting cookie from $cookies doesn't delete cookie in IE #3988

Closed
@jnizet

Description

@jnizet

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.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions