所以,我有这个JavaScript对象g。
g = {
vehicles: e.Gc,
clicked_vehicle: g,
site_url: x.display_config.site_image_url,
include_option_prices: !0,
selected_options: b.Mf()
};
d.lead_data = g;
我正在尝试获取g.clicked_vehicle的值并将其存储在浏览器的cookie中。
document.cookie = "clicked_vehicle=" + JSON.stringify(g.clicked_vehicle);
g.clicked_vehicle是一个JSONArray,因此存储在浏览器中的clicked_vehicle cookie的值是“[object Object]”。我以为JSON.stringify会把JSONArray变成一个字符串,但由于某种原因它不起作用。
当我这样做时:
document.cookie = "selected_options="+ JSON.stringify(g.selected_options);
它可以工作,字符串会存储到浏览器的cookie中。
知道问题是什么吗?
答案 0 :(得分:0)
我认为问题出在这一行:
clicked_vehicle: g
如Jaromanda X所述,此行可能会导致递归问题,因为您的对象也称为g
。
如果你真的需要在clicked_vehicle
内存储同一组数据,你可以这样做:
g = {
vehicles: e.Gc,
clicked_vehicle: Object.assign({}, g), // copies g instead of referencing it
看看它是否适合你。