01.06.2010, 01:25
|
|
Профессор
|
|
Регистрация: 03.04.2009
Сообщений: 1,263
|
|
Так ведь при наличии cookie так и будет -- корзина сохранится, главное не дропать сессии в течении некоторого времени
|
|
01.06.2010, 02:32
|
|
|
|
Регистрация: 27.12.2008
Сообщений: 4,201
|
|
они ж сами дропаются, и тут есть два варианта: либо корзина прорадает с сессией, либо мы храним корзины в БД и вручную их чистим со временем. Актуальность второго варианта под вопросом...
|
|
01.06.2010, 04:07
|
|
Профессор
|
|
Регистрация: 03.04.2009
Сообщений: 1,263
|
|
x-yuri, что значит сами дропаются оО? Они дропнутся тогда, когда я им скажу
UPD Ну да, первы вариант отлично подходит. В принципе, любая долгое время не обновляющаяся сессия должна умирать, так что все нормально.
Последний раз редактировалось e1f, 01.06.2010 в 04:13.
Причина: что-то позднее время повлияло на адекватность восприятия.
|
|
01.06.2010, 15:32
|
Профессор
|
|
Регистрация: 25.02.2010
Сообщений: 218
|
|
если пишу вот так
myArr2=$.cookie("tovar"); // myArr2 присваеваем значение из кук
if (myArr2 == null) // если кука пустая тобишьее нету
var myArr2=[]; // создаём массив
function AddToCart(id,price, show_tovar, pr){ //
myArr2.push([id,price, show_tovar, pr]); // добавляем в массив пришедшие значения
$.cookie("tovar", myArr2); // и записываем в куку
}
то фаербаг мне говорит myArr2.push is not a function
а если делаю вот так
if (myArr2 == null)
var myArr2=[];
else
myArr2=$.cookie("tovar");
function AddToCart(id,price, show_tovar, pr){
myArr2.push([id,price, show_tovar, pr]);
$.cookie("tovar", myArr2);
}
то в куку всё прекрасно добавляет только если обновить страницу то кука обнуляется , тоесть из-за этой строчки myArr2=$.cookie("tovar"); он ругается на эту myArr2.push([id,price, show_tovar, pr]); почему так происходит?
|
|
01.06.2010, 15:51
|
|
|
|
Регистрация: 27.12.2008
Сообщений: 4,201
|
|
myArr2=$.cookie("tovar"); // myArr2 присваеваем значение из кук
console.log(myArr2, myArr2 instanceof Array, myArr2 == null);
if (myArr2 == null) // если кука пустая тобишьее нету var myArr2=[]; // создаём массив
|
|
01.06.2010, 16:46
|
Профессор
|
|
Регистрация: 25.02.2010
Сообщений: 218
|
|
непонял ?... в консоли пишет
[] 18,1600,10,12,14,800,5,6 false false
Последний раз редактировалось FRIE, 01.06.2010 в 17:07.
|
|
01.06.2010, 17:09
|
Профессор
|
|
Регистрация: 25.02.2010
Сообщений: 218
|
|
как понимаю - в $.cookie("tovar") у нас есть данные, и даже после перезагрузки страницы, только на строчку
myArr2.push([id,price, show_tovar, pr]);
он ругается -
myArr2.push is not a function
ему синтаксис не нравится?
|
|
01.06.2010, 17:11
|
Новичок на форуме
|
|
Регистрация: 19.02.2008
Сообщений: 9,177
|
|
В куках могут лежать только строки. Всё, что вы туда кладёте, преобразуется в строку, и вытаскивается оттуда в виде строки.
|
|
01.06.2010, 17:15
|
Профессор
|
|
Регистрация: 25.02.2010
Сообщений: 218
|
|
тоесть когда я сделал вот так myArr2=$.cookie("tovar");
то в myArr2 у меня записалась строка а не массив?
а массив кстати это же и есть строка в которой перечислены значения через запятую..
я запутался что-то =)
|
|
01.06.2010, 17:20
|
Профессор
|
|
Регистрация: 25.02.2010
Сообщений: 218
|
|
аа точно console.log(myArr2, myArr2 instanceof Array, myArr2 == null);
вот эта строка говорит следущее
myArr2 =18,1600,10,12,14,800,5,6
myArr2 instanceof Array=false
myArr2=false
а как тогда обратно из этой каши сделать массив?
|
|
|
|