Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 28.08.2011, 07:33
Аватар для Serg_pnz
Сам по себе
Отправить личное сообщение для Serg_pnz Посмотреть профиль Найти все сообщения от Serg_pnz
 
Регистрация: 09.06.2009
Сообщений: 963

coocies устанавливается через раз
Никак не пойму, почему кука через раз устанавливается. При чем установив куку я тут же её запрашиваю - вроде все данные на месте, обновляю страницу - половины нет. Отчего так происходит?

var tocoo = new Object();

//mz - массив артикул-количество
				var mz = $.parseJSON($.cookie('astea_b'));
				if ( mz!=null ) {
					for(var item in mz) {
						var value = mz[item];
						eval ('tocoo.'+item+'='+value);
					}
				}

//добавляем в массив новый товар с артикулом art
				eval ('tocoo.'+art+'=50');
				var jsonText = JSON.stringify(tocoo);
				$.cookie( 'astea_b',  jsonText);

//манипуляции с кнопкой
				$('#'+art).css({'cursor':'default', 'background-position':'right bottom'});
				$('#'+art).parent().css({'cursor':'default', 'background-position':'left bottom'});

				alert('товар заказан');

//запрашиваю и вывожу в алерт массив
				pre($.parseJSON($.cookie('astea_b')))
Ответить с цитированием
  #2 (permalink)  
Старый 28.08.2011, 10:43
Профессор
Отправить личное сообщение для ваый Посмотреть профиль Найти все сообщения от ваый
 
Регистрация: 29.06.2011
Сообщений: 445

Несколько замечаний по коду.

1. Рекомендуется вместо var tocoo = new Object(); писать var tocoo = {};
Использование литералов, короче и удобнее.

2. eval ('tocoo.'+item+'='+value)
Использование eval тут неоправданно. Надо:
for (var item in mz) {
    tocoo[item] = mz[item];
}
3.
$('#'+art).css({'cursor':'default', 'background-position':'right bottom'});
$('#'+art).parent().css({'cursor':'default', 'background-position':'left bottom'});

Это дурная практика, поскольку это делается на CSS. Это не работа для Javascript.

А что в document.cookie после установки и после обновления страницы?

Последний раз редактировалось ваый, 28.08.2011 в 10:52.
Ответить с цитированием
  #3 (permalink)  
Старый 28.08.2011, 12:47
Аватар для Serg_pnz
Сам по себе
Отправить личное сообщение для Serg_pnz Посмотреть профиль Найти все сообщения от Serg_pnz
 
Регистрация: 09.06.2009
Сообщений: 963

Спасибо за замечания!
По поводу глюка - перезагрузил сервер и вроде всё исправилось... Хз, короче.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
кеширование HTML переданого через ajax BorisBritva jQuery 6 02.04.2011 01:23
ссылка с fadeIn работает через раз oblomov86 jQuery 1 24.03.2011 17:52
скрипт работает в IE через раз jsVAN Internet Explorer 2 10.03.2011 03:27
Регулярные выражения работают через раз San4ezy Общие вопросы Javascript 5 05.10.2010 01:50
Регулярка работает через раз. Andrej_2 Общие вопросы Javascript 17 17.05.2009 15:15