Joomla: JSON обработка запросов AJAX
Хочу рассказать точнее записать что-бы не забывать реализацию JSON запросов к серверу через библиотеку jQuery функция getJSON , часто уж голова выкидывает из памяти редко используемую информацию ))).
Естественно разработчики движка Joomla начиная с версии 1.5 которые используют шаблон программирования MVC позаботились об реализации данного функционала. А делается это просто:
Серверная часть: В вид (view) компонента добавляем класс view.json.php следующего содержания
<?php defined( '_JEXEC' ) or die( 'Restricted access' ); jimport( 'joomla.application.component.view' ); class ComponentViewAjax extends JView { var $json = array(); public function display($tpl = null) { $result = new stdClass(); // или передать некий объект $this->json['result'] = $result; echo json_encode($this->json); exit(); } }
Надеюсь пояснять не надо что к чему иначе это не ваше и передайте работу профессионалу (не люблю это обращение).
И сам js запрос в сформированном html:
$.getJSON("<?php echo JURI::root(false) ?>index.php?option=com_component&view=ajax&format=json&request=1", function(json){ alert(json.result); // вывод JSON объекта });
Как видите все ну очень просто, за что и люблю разрабатывать сайты на Joomla, как бы его не хаяли, но гибкость в руках специалиста горы сворачивает. Таким же образом формируется и xml ответ на запрос, куда поставить xml думаю объяснять не надо ;)
-
Мурад Джелилов
-