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'))) |
Несколько замечаний по коду.
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 после установки и после обновления страницы? |
Спасибо за замечания!
По поводу глюка - перезагрузил сервер и вроде всё исправилось... Хз, короче. |
Часовой пояс GMT +3, время: 03:28. |