2010-05-06 1 views
0

Я использую функцию загрузки JQuery для загрузки части моей страницы. Могу ли я получить доступ к переменным с этой страницы на странице, которая загружает его. напримерСодержимое, связанное с вызовом AJAX, добавленным в переменную контекста Django

  • Страница A использует функцию загрузки JQuery для загрузки Аргументы B

  • страница B загружает и устанавливает переменную в контексте под названием pageB_var, который удерживает объект DJANGO

  • Страница А может затем получить доступ к этой переменной {{pageB_var}}, поскольку он был добавлен в контекст

Если нет, то что это лучший способ сделать это?

Благодаря

+0

. Вт ч а т? –

+0

ha Я думал, что кто-то может это сказать. Я попытаюсь переписать его – John

+0

В основном я хочу использовать переменные, добавленные в контекст на странице B на странице A. Где загружается страница B со страницы A, используя функцию загрузки JQuery. – John

ответ

0

Похоже, вы используете асинхронный запрос на обновление части страницы, получение частичный ответ HTML и замену части разметки вашей страницы на этот ответ.

Вы обнаружили, что это явно ограничивает вас обновлением информации, содержащейся на этой частичной странице.

Рассмотрите возможность предоставления ответа JSON на ваш асинхронный запрос, содержащий всю необходимую информацию, а затем обновление необходимого HTML-кода в любой части страницы путем манипулирования клиентской стороной DOM с помощью JavaScript. Подумайте о JSON как о вашем контексте для этой цели.

0

После страница А отправляется в браузере это в основном фиксируется в памяти. Вам нужно будет использовать функции DOM в JavaScript, чтобы изменить то, что он показывает. Сказав это, вы можете вернуть JSON из представления для вызова на страницу B, а затем декодировать его и вставить его на страницу A.

1

Нет. Страница рендеринга страницы B неактуальна и недоступна к моменту получения ответа B.

Случае: Страница А отображается на сервере. в течение этого времени его контекст существует. когда сервер выполняет его рендеринг, он отправляет визуализированную страницу клиенту. клиентский веб-браузер затем запускает javascript, включая загрузку jquery(), чтобы снова вызвать сервер и сообщить ему визуализировать B. В этот момент процесс, который отображает страницу A, больше не существует, поэтому для страницы B отправить материал на страницу A, вам нужно было бы совершить путешествие во времени ....

Способ для этого - для возврата на страницу B объекта JSON, а затем использовать функцию обратного вызова (javascript), заданную для load() для рендеринга изменений на страницу, основанную на этом ответе JSON от B.