Intereting Posts
Использование glob () для отображения изображений из каталога, в то время как echo'ing уникальное первое изображение PHP-печать на локальный термальный принтер не работает без имени сети FatalErrorException в строке route.php 22: Class 'Painting' not found как проверить, зарегистрирован ли пользователь на его сеансе в маршруте, а затем вызвать метод контроллера в laravel? Модуль Magento BestSeller – суммирование настраиваемых продуктов и добавление их обратно Аутентификация электронной почты PHP Как сделать Drupal 7 Редактируемое поле в таблице только для администратора Есть ли способ установить Composer глобально в Windows? Использование LIMIT в MySQL для ограничения результатов на основе значения столбца (PHP / MySQL) Doctrine Entity «Класс не найден» Озадаченный вложением инъекций в PHP (цепочки классов) Возвращаемое значение базы данных в Smarty Способ использования Config :: set () дважды в функции Как отправить URL-адрес в параметре маршрута? Обязательные пользовательские поля проверки WooCommerce не подтверждают введенное значение

Класс «JFactory» не найден

Я создал некоторые модули в Joomla, используя Jumi. Поэтому я могу написать любой код php / javascript и создать модуль Jumi, который я смогу отобразить там, где хочу.

Я делал это некоторое время без проблем, но теперь, когда я пытаюсь разработать AJAX с JQuery, я получаю эту ошибку:

Class 'JFactory' not found in api.php 

Поэтому у меня есть файл PHP с кодом jQuery:

 $(function() { $.ajax({ url: 'ajax_dashboard/api.php', //the script to call to get data data: "", dataType: 'json', //data format success: function(data) //on recieve of reply { var id = data[0]; //get id var vname = data[1]; //get name $('#output').append("<b>id: </b>"+id+"<b> name: </b>"+vname) .append("<hr />"); //Set output element html } }); }); 

Как вы видите, он вызывает скрипт api.php для обработки некоторых серверов. В этом файле есть несколько вызовов joomla, например:

 $user = &JFactory::getUser(); 

Итак, почему в этом случае у меня нет рамки Joomla?

Проблема в том, что ваш вызов Ajax попадает в файл из платформы «Joomla». Правильный способ сделать это, если это возможно, – сделать ajax-вызов примерно таким:

index.php? вариант = yourcomponent и контроллер = ххх и задача = ууу

(это означает, что у вас должен быть компонент «mycomponent» и контроллер «xxx» внутри этого компонента). Затем контроллер должен нести ответственность за обращение с вызовом ajax и отправку ответа. Вы можете вернуть json-закодированный ответ, например, или все, что вам нужно.

Я надеюсь, что это помогло

Я использую это для решения проблемы. Я получаю переменную, пока я нахожусь в структуре joomla. Затем я передаю переменную User_Name в моем вызове ajax …

Надеюсь это поможет

 <script type="text/javascript"> var User_Name = '<?php $user =& JFactory::getUser(); $User_Name = $user->username; echo $User_Name; ?>'; </script>