2017-09-09 4 views
0

löschen Wenn ich ein Cookie mit res.cookie('TEST', 'Test content.').status(200).send('Cookie set.'); setze, sehe ich, dass es im Browser korrekt eingestellt ist. Wenn ich jedoch auf einer anderen Seite res.clearCookie('TEST').status(200).send('Cookie cleared.'); mache, sehe ich, dass der Cookie nicht gelöscht wird. Ich möchte diesen Cookie vollständig entfernen.Ich kann keine Cookies in Express

Ich habe auch res.clearCookie('TEST', {path: '/'}); vergeblich versucht.

Ich bin auch Cookie-Parser wie folgt aus:

const cookieParser = require('cookie-parser'); 
app.use(cookieParser(process.env.secret)); 

This is what I see when the cookie has been 'cleared' - it's not deleted.

Das obige Bild zeigt, was ich sehe, nachdem das Cookie ‚gelöscht‘ wurde - aber es ist nicht wirklich gelöscht.

Ich würde jede Hilfe, die ich bekommen kann, schätzen. Vielen Dank.

Antwort

1

Ein Server kann einen Client nicht an anweisen, einen bestimmten Cookie zu entfernen.

Alles, was es tun kann, ist das Cookie zu überschreiben, so dass sein Wert leer ist, und ein Ablaufdatum einstellen, das bereits abgelaufen ist (was genau res.clearCookie tut), in der Hoffnung, dass der Browser den Hinweis nimmt und tatsächlich entfernt es.

In Ihrem Fall, obwohl der Cookie bereits abgelaufen ist, entfernt Ihr Browser es aus irgendeinem Grund nicht. Das kann Express nicht beheben.

Verwandte Themen