Добавление объекта в JSON с сохранением cookie

126
27 января 2020, 08:20

При клике на кнопку в JSON должен записываться дополнительный объект, но получается что объект просто перезаписывается при клике сохраняя только последнее значение. JSON сохраняется в cookie но так же только с последним значением.

$('.order-item').click(function() {
        var jsonObj = '{"ecommerce": { "add": { "products": []}}}';
        var itemtype = $(this).attr('itemtype');
        var itemsize = $(this).attr('itemsize');
        var priceitem = $(this).attr('priceitem');
        var quantyti = $(this).attr('quantyti');
        var totalprcie = $(this).attr('totalprcie');
        item = {}
        item ["title"] = itemtype;
        item ["itemsize"] = itemsize;
        item ["priceitem"] = priceitem;
        item ["quantyti"] = quantyti;
        item ["totalprcie"] = totalprcie;
        var obj = JSON.parse(jsonObj);
        obj.ecommerce.add.products.push(item);
        $.cookie('cart',obj);   
    });

Как добавить объект в JSON во вложенный products и парсить значение если объекты уже есть?

Answer 1

Вам необходимо сначала получить текущене значение $.cookie('cart'), если оно есть.

   $('.order-item').click(function() {
        var jsonObj = $.cookie('cart') || '{"ecommerce": { "add": { "products": []}}}';
        var itemtype = $(this).attr('itemtype');
        var itemsize = $(this).attr('itemsize');
        var priceitem = $(this).attr('priceitem');
        var quantyti = $(this).attr('quantyti');
        var totalprcie = $(this).attr('totalprcie');
        item = {}
        item ["title"] = itemtype;
        item ["itemsize"] = itemsize;
        item ["priceitem"] = priceitem;
        item ["quantyti"] = quantyti;
        item ["totalprcie"] = totalprcie;
        var obj = JSON.parse(jsonObj);
        obj.ecommerce.add.products.push(item);
        $.cookie('cart', JSON.stringify(obj));   
    });
READ ALSO
Как принимать постбеки от партнерки в счетчике (Яндекс Метрика или Рейтинг Mail)?

Как принимать постбеки от партнерки в счетчике (Яндекс Метрика или Рейтинг Mail)?

Основной вопрос - как учитывать конверсии в счетчике, если сайт не твойДанные о них можно получить от ПП через postback

198
Google Extensions запуск скрипта

Google Extensions запуск скрипта

Я искал, но так и не нашел, что-то похожее на мою проблемуВопрос в том, как запускать скрипт в какой-либо промежуток времени

114
Можно ли получить доступ к объекту функции в явном виде?

Можно ли получить доступ к объекту функции в явном виде?

Как можно получить доступ к объекту функции в явном виде? Вот код:

115