Необходимо передать переменную PHP в Kohana 3.1 с базового контроллера на другой контроллер, который загружается через AJAX с вкладками пользовательского интерфейса jQuery - PullRequest
0 голосов
/ 11 апреля 2011

Я пытался установить глобальные переменные с помощью set / bind_global (), а что нет, но ничего не работает.

Итак, вот мой макет, и, пожалуйста, дайте мне знать, если у вас есть предложения или советы по поводу всего, что вы видите:

Controller_Common расширяет Controller_Template, настраивает PHP API PHP и создает сеанс FB, а также создает массивы для файлов JS и CSS, которые затем включаются в представление шаблона.

В представлении шаблона я использую вкладки jQuery с тремя разными вкладками. Каждая вкладка загружает через AJAX другой контроллер внутри соответствующего элемента div.

В основном я хочу передать информацию о сеансе Facebook (а именно, uid, name и т. Д.) Из контроллера Controller_Common в контроллер на вкладке jQuery, который, конечно, загружается динамически.

Возможно ли это даже без необходимости прибегать к сеансу php?

Кроме того, есть ли лучшее решение для загрузки контроллеров во вкладках jQuery, чем просто установка href равным относительному URL контроллера, который я хочу вызвать? Я стреляю в лучшую практику по всем вышеперечисленным, если это возможно.

Большое спасибо заранее,

Brian

Ответы [ 2 ]

0 голосов
/ 13 апреля 2011

Итак, я знаю, что сказал, что хочу сделать это без использования PHP-сессий, но, так как я только хочу передать некоторую основную информацию, я решил не использовать ее. В этой ситуации, вероятно, лучше всего использовать PHP-сессии.

0 голосов
/ 11 апреля 2011
  1. Вы можете генерировать вызовы Ajax с нужными вам данными FB.Просто передайте var в представление шаблона и затем настройте JS-переменные следующим образом (синтаксис может отличаться, конечно):

    var userId = <?php echo $fb->userId ?>;
    

    И позже ваш загрузчик ajax будет использовать userId var (как параметр GET или POST).

  2. Почему не используется объект FB API в контроллере Ajax?Таким образом, вам не нужно передавать много данных, которые уже хранятся на стороне сервера и доступны.

...