LiveInternetMail.ru
Форум русской поддержки Joomla!® CMS
22.05.2013, 19:08:35 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 2.5 FAQ Joomla 1.5 FAQ Joomla 1.0 FAQ Правила форума Новости Joomla Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор Тема: AJAX запрос к функции контроллера и JFactory::getUser  (Прочитано 649 раз)
0 Пользователей и 1 Гость смотрят эту тему.
kathu
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 1


« : 08.11.2012, 18:45:34 »

Итак, Joomla 1.5+jQuery+MVC-компонент.
AJAX обращается к контроллеру и функция в контроллере проверяет права пользователя через
Код:
$user =& JFactory::getUser(); if ($user->authorize(...)) {...};
и возвращает содержимое, соответствующее правам доступа юзера.

Проблема: именно при вызове функции контроллера через AJAX-запрос - JFactory::getUser() не выполняется.
Вызов той-же функции НЕ через AJAX происходит как надо.

Строка запроса:
Код:
$('.testlist').load("index2.php?option=com_test&task=updatetest&controller=test");
В чем может быть проблема? И возможно ли это в принципе?

Из найденного в Google варианты:
1. Реализовать аналог функции getUser() на JS с запросом к таблице jos_users: неподходит, ибо грязно, некрасиво и медленно.
2. Передавать параметр $user = JFactory::getUser() или его содержимое в параметрах: неподходит, ибо небезопасно и тоже некрасиво.

Может я неправильно передаю &controller=<имя_контроллера>? Вроде все варианты перепробовал.

Может все должно работать и у кого-то отлично работает, а ошибка где-то еще?
Записан
b2z
Support Team
*****

Репутация: +325/-0
Offline Offline

Пол: Мужской
Сообщений: 4356


Contra Gaming Community


« Ответ #1 : 20.11.2012, 14:40:33 »

AJAX тут вообще не причем. Физически все равно вызывается контроллер и в нем JFactory::getUser(). Значит ошибка где-то в другом. У Вас этот контроллер вообще отрабатывает?
Записан
SuperSonic
Захожу иногда
**

Репутация: +1/-0
Offline Offline

Сообщений: 10


« Ответ #2 : 17.01.2013, 11:35:22 »

У меня точно такая же проблема как у топикстартера, именно через AJAX почему-то не выполняется. Причём это касается не только функции getUser, но и многих других, например, компонент не может получить параметры собственного конфига.
Записан
b2z
Support Team
*****

Репутация: +325/-0
Offline Offline

Пол: Мужской
Сообщений: 4356


Contra Gaming Community


« Ответ #3 : 17.01.2013, 12:06:52 »

У меня точно такая же проблема как у топикстартера, именно через AJAX почему-то не выполняется. Причём это касается не только функции getUser, но и многих других, например, компонент не может получить параметры собственного конфига.
Еще раз задам вопрос, как и ТСу - контроллер вообще вызывается? Я не вижу причин, по которым в контроллере были бы описанные проблемы. Я совсем недавно писал модуль AJAX поиска под 1.5 - у меня все прекрасно работает. Под 2.5 тоже.
Записан
SuperSonic
Захожу иногда
**

Репутация: +1/-0
Offline Offline

Сообщений: 10


« Ответ #4 : 17.01.2013, 12:26:05 »

Подскажите, пожалуйста, как проверить вызывается ли контроллер? Насколько я вижу, он вызывается, т.е. компонент в целом работает, но вот не может определить права и параметры своего конфига.
« Последнее редактирование: 17.01.2013, 14:17:25 от SuperSonic » Записан
b2z
Support Team
*****

Репутация: +325/-0
Offline Offline

Пол: Мужской
Сообщений: 4356


Contra Gaming Community


« Ответ #5 : 17.01.2013, 15:54:26 »

Ну самый банальный вариант - сделайте где нибудь в нем die('test'). Потом инструментом типа FireBug проверьте, вывелось ли сообщение test.
Записан
SuperSonic
Захожу иногда
**

Репутация: +1/-0
Offline Offline

Сообщений: 10


« Ответ #6 : 17.01.2013, 18:24:00 »

Тест делал, всё выводит. Вообщем установил заново CMS и компонент и, о чудо, всё заработало.
Записан
b2z
Support Team
*****

Репутация: +325/-0
Offline Offline

Пол: Мужской
Сообщений: 4356


Contra Gaming Community


« Ответ #7 : 17.01.2013, 18:33:22 »

Да уж, чудеса!
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Рейтинг@Mail.ru Rambler Top100 Powered by SMF 1.1.18 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet