Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Передача объектов JS между страницами 
:(
    Опции темы
Stampede
Дата 31.3.2006, 03:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Гносеолог
**


Профиль
Группа: Участник Клуба
Сообщений: 963
Регистрация: 25.4.2005
Где: Calgary, Alberta, Canada

Репутация: 4
Всего: 144



Я прототипирую веб-интерфейс к серверному приложению на Java, и натуральным образом смотрю в сторону AJAX, поскольку функциональность сервера полностью доступна по веб-сервисному протоколу. То есть я из браузера могу запросто вызвать серверный метод. объявленный в Java интерфейсе, к примеру, вот так

Код
public User getUser(String name);


Для доступа я использую стороннюю библиотечку, которая реализует протокол связи и скрывает детали асинхронного вызова, маршализации и размаршализации объектов. По результатам выполнения функции я получаю динамически сформированный объект, весьма похожий на исходный объект Java. Например, я могу доступиться к свойствам объекта User, используя примерно такой синтаксис:

Код
alert(user.department.location.state);


То есть в целом все хорошо - но до тех пор, пока мы находися в пределах одной странички. Я могу подгружать всякие данные, перерисовывать элементы интерфейса - кайф, одним словом. Но вот я перехожу по другому адресу, и получается, что вся инфа, которую я успел насобирать, на новой странице уже недоступна. Это что, придется делать все вызовы заново? А нельзя ли как-то передать переменные через каую-нибудь глобальную структуру?

Простейшую инфу я могу засунуть в кукисы. а вот как быть со сложными объектами? Кто чего может подсказать?
PM WWW   Вверх
12345c
Дата 31.3.2006, 15:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Круглый
****


Профиль
Группа: Vingrad developer
Сообщений: 2018
Регистрация: 26.12.2005
Где: наша не пропадала ?

Репутация: 57
Всего: 101



Таких стандартных методов нет, кроме специальных объектов в IE для доступа к локальным файлам. Даже куки используются разные для разных каталогов одного хоста. Поэтому аяксы работают на одной странице, и максимум, что себе позволяют - обращаться к разным якорям.
PM WWW   Вверх
S.A.P.
Дата 31.3.2006, 20:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2664
Регистрация: 11.6.2004

Репутация: 8
Всего: 71



Stampede, насколько объемная и сложная у тебя инфа и почему нельзя хранить все в сессии на сервере и подгружать при каждом обращении?
PM MAIL   Вверх
dstorm81
Дата 31.3.2006, 21:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


бездельник
***


Профиль
Группа: Завсегдатай
Сообщений: 1178
Регистрация: 18.1.2006
Где: (16RU)

Репутация: 20
Всего: 39



попробуй через урл передавать, по ссылке то бишь


--------------------
на форуме с 8.12.2002 (http://forum.vingrad.ru/index.php?act=ST&f=10&t=4874&st=0#)

PM   Вверх
Stampede
Дата 5.4.2006, 21:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Гносеолог
**


Профиль
Группа: Участник Клуба
Сообщений: 963
Регистрация: 25.4.2005
Где: Calgary, Alberta, Canada

Репутация: 4
Всего: 144



Цитата(12345c @ 31.3.2006, 15:09 Найти цитируемый пост)
Таких стандартных методов нет, кроме специальных объектов в IE для доступа к локальным файлам. Даже куки используются разные для разных каталогов одного хоста. Поэтому аяксы работают на одной странице, и максимум, что себе позволяют - обращаться к разным якорям.


Подождите-ка, товарищи: а как насчет фреймов? Я вот щас мельком просмотрел топик Окна и фреймы - по всему выходит, именно то, что мне надо. Дайте попробую объяснить подробнее.

Вот допустим я делаю свой Гугыль Мэйл (ну это просто такая простая и наглядная модель). Предположим. у меня есть три разных вида, которые, с одной стороны, абсолютно различаются по структуре и функциональности, а с другой - используют некоторые общие элементы данных. Например, виды такие:
  • Содержимое папки
  • Просмотр письма
  • Профиль юзера

При этом каждый из трех видов должны иметь доступ к следующей инфе:
  • инфа о юзере (имя, адрес почты, id);
  • список всех папок юзера;

Как городить все это в одном документе я примерно представляю: завести специальный div и подгружать в него ХТМЛ болванки соответствующих видов, а потом обрабатывать клиентским скриптом. Но вот я подумал, а что если сделать это в виде фреймов? Тогда всю глобальную инфу можно будет хранить в главном документе, а в окно выводить страницу. по большей части сгенерированную на сервере. Тогда нагрузка на клиента, и соответственно объем JS кода будет значительно меньше.

Щас сяду пробовать, а вы пока подумайте, нет ли в этом каких подводных граблей smile



--------------------
"If you want something done right, do it yourself"
По секрету: выучить английский - реально!
PM WWW   Вверх
12345c
Дата 5.4.2006, 23:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Круглый
****


Профиль
Группа: Vingrad developer
Сообщений: 2018
Регистрация: 26.12.2005
Где: наша не пропадала ?

Репутация: 57
Всего: 101



Но речь же шла о передаче из старой страницы в новую, когда сменяется УРЛ. Если обновляемый документ в фрейме, УРЛ окна не изменится. Какая вообще надобность в переходах?

Если делается типа ГМайла, то там всё устраивается на 1 странице. Причём в браузерах, не поддерживающих XMLHttpRequest идёт работа через фрейм (iframe).
PM WWW   Вверх
Stampede
Дата 6.4.2006, 00:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Гносеолог
**


Профиль
Группа: Участник Клуба
Сообщений: 963
Регистрация: 25.4.2005
Где: Calgary, Alberta, Canada

Репутация: 4
Всего: 144



Цитата(12345c @ 5.4.2006, 23:47 Найти цитируемый пост)
Если делается типа ГМайла, то там всё устраивается на 1 странице. Причём в браузерах, не поддерживающих XMLHttpRequest идёт работа через фрейм (iframe).


Да-да, уже нарыл про IFRAME, делаю через него.

Цитата(12345c @ 5.4.2006, 23:47 Найти цитируемый пост)
Но речь же шла о передаче из старой страницы в новую, когда сменяется УРЛ. Если обновляемый документ в фрейме, УРЛ окна не изменится. Какая вообще надобность в переходах?


Ну, если быть точнее, я хотел, чтобы разным view соответствовали разные урлы - чтобы при необходимости можно было по урлу (с параметрами) восстановить содержимое view. Например, через закладку или как строковую ссылку. Но чтобы при этом контекст документа не терялся. Надеюсь, IFRAME должен сработать. Как чего получится - сообщу.
PM WWW   Вверх
12345c
Дата 6.4.2006, 01:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Круглый
****


Профиль
Группа: Vingrad developer
Сообщений: 2018
Регистрация: 26.12.2005
Где: наша не пропадала ?

Репутация: 57
Всего: 101



Переменные в страницах по УРЛу не восстанавливаются, не тратьте время, только значения полей форм, если страница кешируется и взята из истории(кроме Оперы).
PM WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0483 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.