如何获取所有当前JavaScript cookie的密钥数组?

时间:2013-04-02 04:42:17

标签: php javascript jquery cookies jquery-cookie

我有各种产品的链接。我使用php从数据库中添加产品ID作为每个链接的id值。

<a class="order_btn" id="<?php echo $row['product_id'];?>"><?php echo $row['product_name']; ?></a>

我正在使用jquery cookie插件(https://github.com/carhartl/jquery-cookie)来保存点击订单按钮的次数。我使用id属性中的产品ID作为已保存cookie的密钥。

$(".order_btn").click(function() {
  var productToAdd = $(this).attr("id");

  if($.cookie("Product-"+productToAdd) >= 1) { //If this is not the first item for the current product
    //Updating the number for the current product 
    var newNum = Number($.cookie("Product-"+productToAdd)) + 1;
    $.cookie("Product-"+productToAdd, newNum);
  } else { //If this the first item for the current product
    //Creating the first number for the current product
    $.cookie("Product-"+productToAdd, 1);
  }
}); //end click function for Order Button

在购物车页面上,我需要列出已保存值的每个Cookie的产品名称。因此,我需要能够获取cookie的密钥名称,以便我可以在数据库中查找产品名称。

如何获得包含所有当前javascript Cookie的键的数组?

1 个答案:

答案 0 :(得分:0)

您可以列出当前域的Cookie:

function listCookies() {
    var theCookies = document.cookie.split(';');
    var aString = '';
    for (var i = 1 ; i <= theCookies.length; i++) {
        aString += i + ' ' + theCookies[i-1] + "\n";
    }
    return aString;
}

但出于安全原因,您无法为其他域列出Cookie

DixonD在How can I list all cookies for the current page with Javascript?

中发布的答案