我和朋友一起在网上开店。他用PHP为我设置了一个cookie,其中包含了添加到购物车中的产品数量。 cookie被称为“cart”,带有产品数量的变量称为“items”。
我必须阅读cookie并使用javascript获取“cart”的值并将其打印在HTML文档中,但我不知道如何使用它,你能帮助我吗?我以前从未使用过cookie或JSON,但我认为它应该用JSON完成,你能解释一下它是如何工作的吗?
当我这样做时:console.log(document.cookie);
我收到的内容如下:cart=%7B%22items%22%3A%7B%228%22%3A1%7D%7D;
我不知道如何编码。
谢谢
答案 0 :(得分:9)
这是与{"items":{"8":1}}
等效的URL编码,它是您想要的JSON字符串。
您所要做的就是解码它并解析JSON:
var cart = JSON.parse(decodeURIComponent(document.cookie.cart));
然后记录购物车应该为您提供一个具有'items'属性的对象,您可以根据需要访问该属性。
编辑:
例如,这是一种迭代项目并确定项目总数和所有数量总和的方法。
var items_total = 0,
quantity_total = 0;
for (var prop in cart.items) {
items_total += 1;
quantity_total += cart.items[prop];
}
console.log("Total Items: " + items_total);
console.log("Total Quantities: " + quantity_total);
答案 1 :(得分:0)
看起来您只需解码它,然后您将需要解析/评估它以获得可用的对象:
var obj, decoded = decodeURIComponent(document.cookie.cart);
if(window.JSON && JSON.parse){
obj = JSON.parse(decoded);
} else {
eval('obj = ' + decoded);
}
// obj == {"items":{"8":1}};