В этой статье я расскажу как в Joomla использовать AJAX.
Joomla устроенна так что для этого нам нужно либо создавать отдельный скрипт и в нем подключать Joomla framework, либо использовать для этих целей компонент!

Рассмотрим вариант с AJAX запросом через компонент:

Для начала создадим форму для передачи данных через AJAX в компонент

<form action="index.php?option=com_blog&view=item&task=getAjaxData&format=raw" method="post" id="ajaxForm">
    <input type="text" name="login" value="" />
    <input type="text" name="password" value="" />
    <input type="button" class="ajaxSubmit" value="Отправить">
</form>

Теперь опишем обработчик нажатия на кнопку с помощью JavaScript и отправку данных с помощью AJAX

Если вы пишете на jQuery:

$(document).ready(function () {
	$('.ajaxSubmit').on('click', function () {
			$.ajax({
			type:'GET',
			cache:false,
			dataType:'html',
			url:$('#ajaxForm').attr('action'),
			data:$('#ajaxForm').serializeArray(),
			success:function (data) {
				alert(data);
			}
		});
	});
});	

Если используете mootools:

window.addEvent('domready', function () {
	$$('.ajaxSubmit').addEvent('click', function () {
		new Request.HTML({
			url:$('ajaxForm').get('action'),
			data: 'login=' + $('login').get('value') + '&password=' + $('password').get('value'),
			onSuccess:function (html) {
				console.log(html)
			}
		}).send();

	});
});

Дальше мы идем в дефолтный контроллер компонента com_blog и добавляем следующий метод:

function getAjaxData()
{
	echo  'login: ' .$_REQUEST['login'] . '; password: ' . $_REQUEST['password'];
	exit;
}

После того как мы нажмем на кнопку отправить на сервер пошлется запрос и вернет нам данные которые мы укажем в форме: Пример работы AJAX

exit; необходим для завершения работы приложения! что бы другие действия не выполнялись и не создавали дополнительную нагрузку на сервер.

Необязательно создавать форму для передачи AJAX параметров! Вы можете передавать параметры любым удобным вам способом!