【问题标题】:Find all cookie with name查找所有带有名称的 cookie
【发布时间】:2016-09-27 20:28:56
【问题描述】:

我使用 jquery cookie 插件,这是我的代码:

$('.Bookmark').click(function () {
    var id = $(this).attr('rel');
    if ($(this).hasClass('RedHeart')) {
        $(this).removeClass('RedHeart');
        $.removeCookie('Bookmarkid_' + id, id);
        $(this).attr('title', 'Add');
    } else {
        $(this).addClass('RedHeart');
        $.cookie('Bookmarkid_' + id, id, { expires: 3650 });
        $(this).attr('title', 'remove');
    }
});

$('.Bookmark').each(function () {
    var id = $(this).attr('rel');
    var $this = $(this);
    if ($.cookie('Bookmarkid_' + id) == id) {
        $this.addClass('RedHeart');
        $this.attr('title', 'remove');
    }
});

我想知道如何找到所有设置有相似名称的 cookie。例如,我用这些名称设置了 3 个 cookie:

Bookmarkid_3132509
Bookmarkid_3432502
Bookmarkid_4433342

现在我想查找并返回所有以 Bookmarkid_ 名称开头的 cookie。我需要这样的东西:

if ($.cookie().indexOf("Bookmarkid_") === 0) {
    alert('yes')
}

编辑:它不是重复的并且与该主题无关,仍然没有解决我的问题!!!

【问题讨论】:

  • @Satpal 我之前试过,没有解决我的问题!我认为这根本与我的问题无关,但您将其标记为重复!我的问题还没有解决。
  • 我重新打开了,试试if(Object.keys($.cookie()).some(function(k){ return ~k.indexOf("Bookmarkid_") })){ // it has Bookmarkid_property }

标签: javascript jquery cookies jquery-cookie


【解决方案1】:

读取所有可用的 cookie: $.cookie(); // => { "name": "value" }

所以

Object.keys($.cookie()).forEach(function(cookieName) {
  if (cookieName.indexOf("Bookmarkid_") === 0) {
    alert('yes')
  }
});

// next one return you only filtered cookies
Object.keys($.cookie()).reduce(function(collector, cookieName) {
  if (cookieName.indexOf("Bookmarkid_") === 0) {
    collector[cookieName] = $.cookie(cookieName);
  }
  return collector;
}, {});

// to filter cookies Names
 Object.keys($.cookie()).filter(function(cookieName) {
   return cookieName.indexOf('Bookmarkid_') === 0;
});

【讨论】:

  • 谢谢,还有一个额外的问题,我怎样才能返回这些带有全名的 cookie?我的意思是返回 Bookmarkid_3132509 Bookmarkid_3432502 Bookmarkid_4433342 例如在一个数组中。
  • 感谢您的帮助和回答
猜你喜欢
  • 1970-01-01
  • 2011-06-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多