Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 01.06.2010, 01:25
Аватар для e1f
e1f e1f вне форума
Профессор
Отправить личное сообщение для e1f Посмотреть профиль Найти все сообщения от e1f
 
Регистрация: 03.04.2009
Сообщений: 1,263

Так ведь при наличии cookie так и будет -- корзина сохранится, главное не дропать сессии в течении некоторого времени
Ответить с цитированием
  #12 (permalink)  
Старый 01.06.2010, 02:32
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

они ж сами дропаются, и тут есть два варианта: либо корзина прорадает с сессией, либо мы храним корзины в БД и вручную их чистим со временем. Актуальность второго варианта под вопросом...
Ответить с цитированием
  #13 (permalink)  
Старый 01.06.2010, 04:07
Аватар для e1f
e1f e1f вне форума
Профессор
Отправить личное сообщение для e1f Посмотреть профиль Найти все сообщения от e1f
 
Регистрация: 03.04.2009
Сообщений: 1,263

x-yuri, что значит сами дропаются оО? Они дропнутся тогда, когда я им скажу

UPD Ну да, первы вариант отлично подходит. В принципе, любая долгое время не обновляющаяся сессия должна умирать, так что все нормально.

Последний раз редактировалось e1f, 01.06.2010 в 04:13. Причина: что-то позднее время повлияло на адекватность восприятия.
Ответить с цитированием
  #14 (permalink)  
Старый 01.06.2010, 15:32
Профессор
Отправить личное сообщение для FRIE Посмотреть профиль Найти все сообщения от FRIE
 
Регистрация: 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]); почему так происходит?
Ответить с цитированием
  #15 (permalink)  
Старый 01.06.2010, 15:51
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

myArr2=$.cookie("tovar");       // myArr2 присваеваем значение из кук 
console.log(myArr2, myArr2 instanceof Array, myArr2 == null);
         if (myArr2 == null)     //   если кука пустая тобишьее нету            var myArr2=[];        //    создаём массив
Ответить с цитированием
  #16 (permalink)  
Старый 01.06.2010, 16:46
Профессор
Отправить личное сообщение для FRIE Посмотреть профиль Найти все сообщения от FRIE
 
Регистрация: 25.02.2010
Сообщений: 218

непонял ?... в консоли пишет
[] 18,1600,10,12,14,800,5,6 false false

Последний раз редактировалось FRIE, 01.06.2010 в 17:07.
Ответить с цитированием
  #17 (permalink)  
Старый 01.06.2010, 17:09
Профессор
Отправить личное сообщение для FRIE Посмотреть профиль Найти все сообщения от FRIE
 
Регистрация: 25.02.2010
Сообщений: 218

как понимаю - в $.cookie("tovar") у нас есть данные, и даже после перезагрузки страницы, только на строчку
myArr2.push([id,price, show_tovar, pr]);
он ругается -
myArr2.push is not a function


ему синтаксис не нравится?
Ответить с цитированием
  #18 (permalink)  
Старый 01.06.2010, 17:11
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

В куках могут лежать только строки. Всё, что вы туда кладёте, преобразуется в строку, и вытаскивается оттуда в виде строки.
Ответить с цитированием
  #19 (permalink)  
Старый 01.06.2010, 17:15
Профессор
Отправить личное сообщение для FRIE Посмотреть профиль Найти все сообщения от FRIE
 
Регистрация: 25.02.2010
Сообщений: 218

тоесть когда я сделал вот так myArr2=$.cookie("tovar");
то в myArr2 у меня записалась строка а не массив?
а массив кстати это же и есть строка в которой перечислены значения через запятую..
я запутался что-то =)
Ответить с цитированием
  #20 (permalink)  
Старый 01.06.2010, 17:20
Профессор
Отправить личное сообщение для FRIE Посмотреть профиль Найти все сообщения от FRIE
 
Регистрация: 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
а как тогда обратно из этой каши сделать массив?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подскажите, как вернуть js-скрипт массив Polkan AJAX и COMET 18 30.04.2010 23:30
Многомерный массив в json Л_Денис Общие вопросы Javascript 1 21.04.2010 21:43
как можно создать iframe со скриптами GOll Общие вопросы Javascript 2 05.05.2009 11:32
Как создать ассоциативный массив JS + CSS occlusion Общие вопросы Javascript 3 12.01.2009 09:19
как создать елемент с вложеными елементами scuter Events/DOM/Window 11 14.05.2008 16:15