Задать вопрос
yous
@yous

Как подгрузить через ajax компонент Bitrix?

Как подгрузить обычный компонент в битрикс через ajax? т.е. просто вывести его шаблон

Сейчас это происходит так, т.е. через промежуточный файл в котором подключается компонент, а как это сделать напрямую ?

$.ajax({
            url: '/ajax/test.php',
            type: 'post',
            data: {},
        }).done(function(data) {
           
        });


/ajax/test.php
<?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");?>
<?$APPLICATION->IncludeComponent("test:test", "", [], false, []);?>
  • Вопрос задан
  • 128 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Python-разработчик с нуля
    6 месяцев
    Далее
  • Академия Eduson
    Frontend-разработчик
    9 месяцев
    Далее
  • Логомашина
    Графический дизайн с нуля
    7 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 2
Если в параметрах компонента есть возможность работы через ajax - то выставьте нужные параметры и пользуйтесь. Если нет - значит, нет.

Заодно хочу отметить, что решение через промежуточный файл более эффективно. Посмотрите, как в коробочных компонентах реализована поддержка ajax режима, и поймёте
Ответ написан
Комментировать
art-zhitnik
@art-zhitnik
Разработка приложений Битрикс+Next.js+GraphQL
Все таки нужно использовать отдельный скрипт php в котором инициализируется компонент. Я обычно так делаю:

//ajax.php
define("STATISTIC_SKIP_ACTIVITY_CHECK", "true");
require($_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_before.php");

$APPLICATION->ShowAjaxHead();  // в ajax запросе подтянутся стили и js подключаемого ниже компонента

$APPLICATION->IncludeComponent(
    ...
);


BX.ajax({
    method: 'POST',
    url: 'path_to_php/ajax.php',
    data: data,
    dataType: 'html',
    onsuccess: function (data) {
        // что-то можем сделать при успешном ajax запросе
    }
});
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы