Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   запись cookie (https://javascript.ru/forum/jquery/47813-zapis-cookie.html)

Valentinka_1 08.06.2014 22:03

запись cookie
 
Доброго времени суток, как можно в куки записать дум элементы
Вот пример кода
function addCartItem(item) { 
      
      
		var catid = $(item).attr("data-catid"); 
		var $img = $(".catalog-list").find('a[data-catid="' + catid + '"]').find(".img-wrap img").clone();

		var newItemCont = $("<div/>", {
			"class": 'cart-item',
			"data-catid": catid
		});
		var newItem = newItemCont.clone().append($img);

		var newItem2 = $(".catalog-list").find('a[data-catid="' + catid + '"]').contents().clone();
		newItem2 = newItemCont.clone().append(newItem2);
		newItem2.append("<div class='row'><a href='#' class='remove-from-cart'>выкинуть</div>");
      
      $.cookie("cart-small", newItem); //записываем содержимое в куки
      $.cookie("cart-modal", newItem2); //записываем содержимое в куки
      //
		// ADD in small cart
		$("#cart .full .cart-items").append(newItem);

		// ADD in modal cart
		$("#modal-cart .cart-items").append(newItem2);

		updateSumItemsInCart();
		updateNavMainSubHeight();
		checkAndSetCartScroll();
      
      //console.log($.cookie("cart"));
	}


При такой записи получается абракадабра в куках. Спасибо за помощь)

Octane 08.06.2014 22:58

document.cookie – это строка. Соответственно, в cookie возможно записать только стоковые данные, поэтому, чтобы запомнить какой-то элемент разметки, можно записать, например, идентификатор этого элемента.

krasovsky 09.06.2014 08:16

В куках следует хранить данные в json-формате.
Судя по всему ты пытаешься сделать корзину. Если загрузка страничек у тебя через ajax, то можно использовать namespace для хранения dom-элементов (window['myNS'] = {'cart-small:newItem'}). При перзагрузке все пропадет конечно, что в отношении корзины покупок плохо по многим причинам.

Так что лучше тебе почитать как устроены корзины и переделать(например хранить id товаров в куках, и выводить из базы)


Часовой пояс GMT +3, время: 01:52.