最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - How to remove a cookie on logout button? - Stack Overflow

programmeradmin0浏览0评论

I am having a hard time removing a cookie when the logout button is clicked. I currently have a logout button with the class logout. and this is the simple jquery line I am trying to put to remove the cookie but it is not working.

$('button .logout').click(function () {
            $.cookie('userid', null);
       };

userid is the name of the cookie.

Oh I am using a signed cookie, not sure if that changes anything?

EDIT:

Here is how I set the cookie:

exports.loginPost = function(req, res, next) {
    console.log("here 1");
    passport.authenticate('local', function(err, user, info) {
        if (err) { return next(err) }
        if (!user) { 
            return res.render('loginError', {title: 'Weblio'}); }
        req.logIn(user, function(err) {
            if (err) { return next(err); }
            console.log(JSON.stringify(user));
            res.cookie('userid', user._id, { maxAge: 900000, signed: true });
            res.redirect('userProfile');
        });
  })(req, res, next);
};

And using a simple express - node js cookieParser with a secret in it.

I am having a hard time removing a cookie when the logout button is clicked. I currently have a logout button with the class logout. and this is the simple jquery line I am trying to put to remove the cookie but it is not working.

$('button .logout').click(function () {
            $.cookie('userid', null);
       };

userid is the name of the cookie.

Oh I am using a signed cookie, not sure if that changes anything?

EDIT:

Here is how I set the cookie:

exports.loginPost = function(req, res, next) {
    console.log("here 1");
    passport.authenticate('local', function(err, user, info) {
        if (err) { return next(err) }
        if (!user) { 
            return res.render('loginError', {title: 'Weblio'}); }
        req.logIn(user, function(err) {
            if (err) { return next(err); }
            console.log(JSON.stringify(user));
            res.cookie('userid', user._id, { maxAge: 900000, signed: true });
            res.redirect('userProfile');
        });
  })(req, res, next);
};

And using a simple express - node js cookieParser with a secret in it.

Share Improve this question edited Jul 15, 2013 at 1:12 Lion789 asked Jul 15, 2013 at 0:57 Lion789Lion789 4,48212 gold badges60 silver badges101 bronze badges 2
  • For security reasons, authentication cookies should be marked as HTTP Only, which means they aren't accessible from javascript and need to be cleared on the server. – Jason P Commented Jul 15, 2013 at 1:07
  • Ok, so do I render a logout page and remove the cookie during the render or something? – Lion789 Commented Jul 15, 2013 at 1:16
Add a ment  | 

1 Answer 1

Reset to default 4

Give it negative time and just set the value to nothing.

Hmm, try:

$('button .logout').click(function () {
    $.cookie('userid', "", -1);
});
发布评论

评论列表(0)

  1. 暂无评论