在jQuery和PHP之间使用cookie


Working with cookies between jQuery and PHP

我在PHP中保存了一个cookie:

setcookie('name['.time().']','Andres',time()+86400,'/');

可以看到,它不是一个常规的cookie值,因为它是一个数组。这有助于我以后对值进行sort()或ksort()。

用户也有一个"清除列表"按钮调用javascript函数。在其中,我使用:

$.cookie('name',null,{expires:-1,path:'/'});

但是它不起作用,因为cookie可能被保存为:

  • 名称[1234567890]
  • 名称[1254567999]

等等……

jQuery:如何删除所有以"name"开头的cookie ?

需要遍历所有cookie

var pairs = document.cookie.split(";");
for (var i=0; i<pairs.length; i++){
  var pair = pairs[i].split("=");
  if(pair[0].indexOf('name[')==0) $.cookie(pair[0],null,{expires:-1,path:'/'});
}

试试这样:

$.each(document.cookie.split(/; */), function(cookieString)  {
  var splitCookie = cookieString.split('=');
  // name is splitCookie[0], value is splitCookie[1]
  if(splitCookie[0].indexOf('name[')==0)
    $.cookie(splitCookie[0], null, {expires:-1,path:'/'});
});