Если компонент написан по правилам D7, то в методе executeComponent пишем что-то такое:
| Код |
|---|
public function executeComponent()
{
global $APPLICATION;
$templatePage = '';
// ... тут код компонента, инициализация данных $arResult
if($_REQUEST['ajaxRequest'] === 'Y')
{
$APPLICATION->RestartBuffer();
$templatePage = 'ajax';
}
$this->includeComponentTemplate($templatePage);
if($_REQUEST['ajaxRequest'] === 'Y')
{
$APPLICATION->FinalActions();
exit;
}
}
|
В шаблоне компонента создаете ajax.php и его код сработает при запросе с параметром ajaxRequest=Y.
Это один из вариантов.
Если нужно просто отдать данные например в виде JSON из компонента, то:
| Код |
|---|
if($_REQUEST['ajaxRequest'] === 'Y')
{
$APPLICATION->RestartBuffer();
echo json_encode($this->arResult);
$APPLICATION->FinalActions();
exit;
}
|
Как-то так примерно.