Мы от вас пытаемся добиться внятного ответа, что за сессии в JavaScript вы имеете ввиду? Где исполняется JavaScript, в браузере или же это серверная реализация JavaScript?
|
Есть, допустим два контракта. Если запустить один из них, в сессии будут данные этого контракта, при запуске второго данные затираются и записываются новые. Как сделать, чтобы, например, в сессии храенить несколько экземпляров данных и получать к ним доступ по какому-то ключу.
|
значением элемента в сессии может быть массив? если нельзя, то можно сериализовать массив, а при получении его надо будет десериализовать. В крайнем случае можно эмулировать массив, использовать ключи типа: contract_1, contract_2
|
В сессию записываются и массивы и простые типы данных.
session.sorder = sorder; (выборка данных из БД) session.sid = sid; (ID контракта) Соответственно есть шаги по работе с контрактом, при переходе на новый шаг, скрипт перезапускается и выполняется новая функция, но использующая данные с прошлого шага. Я совершенно не представляю как с помощью сессии организовать массив данных, элементами которого будут являться экземпляры данных по контрактам. Вернее представляю, но внутри самого скрипта, соответственно после каждого запуска это все будет инициироваться по новой и данные потеряются. Если можно, вставь плиз код с примером, как это реализуется. |
ну если у тебя javascript и в сессии могут храниться массивы, то для начала стоит инициализировать массив
if (! session.sorder) session.sorder = []; добавление в массив session.sorder.push( obj ); может быть понадобится временная переменная var sorder = session.sorder sorder.push( obj ); session.sorder = sorder но это я уже не знаю, т.к. с сессиями в js не работал |
PolarWolf,
Что за библиотеку вы используете? В каком контексте работает JavaScript - в браузере или в .NET может быть? Что за сессии, про которые вы говорите, в нативном JavaScript реализации сессий не существует. |
о, PolarWolf, попробуйте вставить alert(1); куда-нибудь, если неуверены где исполняется javascript: на клиенте или на сервере)) должно появится диалоговое окно с единицей, если клиентский. Но больше похоже на серверный
|
Цитата:
|
Часовой пояс GMT +3, время: 10:54. |