Введите поисковый запрос

AJAX в 1C-Битрикс

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

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

Обработчик AJAX

Для начала нам нужно создать файл, к которому будем обращаться через AJAX-запросы. Назовем его ajax.php и поместим в корень сайта. Так как файл должен отдавать только данные, то мы подключаем только API Битрикс:

require_once($_SERVER['DOCUMENT_ROOT']. "/bitrix/modules/main/include/prolog_before.php");

Пускай наш AJAX-запрос будет отдавать последние 10 новостей с помощью компонента bitrix:news.list. Но вы можете использовать абсолютно любой компонент. Добавляем компонент в файл ajax.php:

require_once($_SERVER['DOCUMENT_ROOT']. "/bitrix/modules/main/include/prolog_before.php");?>

$APPLICATION->IncludeComponent("bitrix:news.list","",Array(
        "DISPLAY_DATE" => "Y",
        "DISPLAY_NAME" => "Y",
        "DISPLAY_PICTURE" => "Y",
        "DISPLAY_PREVIEW_TEXT" => "Y",
        "AJAX_MODE" => "Y",
        "IBLOCK_TYPE" => "news",
        "IBLOCK_ID" => "3",
        "NEWS_COUNT" => "20",
        "SORT_BY1" => "ACTIVE_FROM",
        "SORT_ORDER1" => "DESC",
        "SORT_BY2" => "SORT",
        "SORT_ORDER2" => "ASC",
        "FILTER_NAME" => "",
        "FIELD_CODE" => Array("ID"),
        "PROPERTY_CODE" => Array("DESCRIPTION"),
        "CHECK_DATES" => "Y",
        "DETAIL_URL" => "",
        "PREVIEW_TRUNCATE_LEN" => "",
        "ACTIVE_DATE_FORMAT" => "d.m.Y",
        "SET_TITLE" => "Y",
        "SET_BROWSER_TITLE" => "Y",
        "SET_META_KEYWORDS" => "Y",
        "SET_META_DESCRIPTION" => "Y",
        "SET_LAST_MODIFIED" => "Y",
        "INCLUDE_IBLOCK_INTO_CHAIN" => "Y",
        "ADD_SECTIONS_CHAIN" => "Y",
        "HIDE_LINK_WHEN_NO_DETAIL" => "Y",
        "PARENT_SECTION" => "",
        "PARENT_SECTION_CODE" => "",
        "INCLUDE_SUBSECTIONS" => "Y",
        "CACHE_TYPE" => "A",
        "CACHE_TIME" => "3600",
        "CACHE_FILTER" => "Y",
        "CACHE_GROUPS" => "Y",
        "DISPLAY_TOP_PAGER" => "Y",
        "DISPLAY_BOTTOM_PAGER" => "Y",
        "PAGER_TITLE" => "Новости",
        "PAGER_SHOW_ALWAYS" => "Y",
        "PAGER_TEMPLATE" => "",
        "PAGER_DESC_NUMBERING" => "Y",
        "PAGER_DESC_NUMBERING_CACHE_TIME" => "36000",
        "PAGER_SHOW_ALL" => "Y",
        "PAGER_BASE_LINK_ENABLE" => "Y",
        "SET_STATUS_404" => "Y",
        "SHOW_404" => "Y",
        "MESSAGE_404" => "",
        "PAGER_BASE_LINK" => "",
        "PAGER_PARAMS_NAME" => "arrPager",
        "AJAX_OPTION_JUMP" => "N",
        "AJAX_OPTION_STYLE" => "Y",
        "AJAX_OPTION_HISTORY" => "N",
        "AJAX_OPTION_ADDITIONAL" => ""
    )
);?>

Теперь, если открыть наш файл /ajax.php в браузере, то должны отобразится новости.

AJAX-запрос

AJAX-запросы мы будем отправлять с помощью jQuery. Код можно использовать на любой странице:

script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"> $(document).ready(function () { $.ajax({ type: "POST", url: '/ajax.php', beforeSend: function () { // Вывод текста в процессе отправки $('#news').html('

Загрузка...

'); }, success: function (data) { // Вывод текста результата отправки $('#news').html('

'+data+'

'); }, error: function (jqXHR, text, error) { // Вывод текста ошибки отправки $('#news').html(error); } }); }); /script


Как видите все довольно просто, мы отправляем AJAX-запрос к файлу ajax.php и выводим ответ в <div id="news"></div>. В запросе как обычно можно передавать GET и POST параметры, например для указания номера страницы и т.д.





Комментарии 3

  • Дмитрий29.05.2026 14:45:08
    Использую встроенный ajax компонента для бесконечного скролла, но после подгрузки слетают слайдеры в новых карточках. Как переинициализировать?
    • Денис30.05.2026 18:35:58
      После ответа ловим успех ajax и инициализируем слайдер только на вновь добавленных блоках (по классу/дате-атрибуту), а не по всей странице заново. Иначе получаются двойные инициализации.
  • Сергей08.07.2026 10:19:03
    Второй способ оказался проще официального runComponentAction, забрал к себе. Спасибо.

Оставить комментарий


Стоимость разработки сайта

Я не оцениваю работу в часах, так как в итоге, Вы все равно захотите узнать общую стоимость и срок выполнения.

При оценке проекта или работ я сразу называю стоимость и срок выполнения. Стоимость моих работ не обсуждается. Я называю реальную стоимость за которую готов взяться за ваш проект. Не торгуюсь и не объясняю "а почему это стоит столько?"
Денис Бунаков

Узнать точную стоимость разработки сайта или приложения: Для этого я могу попросить Вас заполнить какой нибудь бриф, но зачем Вам это надо?:

Оставить заявку

И мы все спокойно обсудим либо по телефону, либо удобным для Вас способом например в месенджере

Часто задаваемые вопросы

  • На какой CMS создаете сайты в Новосибирске?
    Обычно мы используем для работы CMS-систему «1С-Битрикс» т.к это наиболее надежная и удобная CMS. Так же она достаточно гибка для разработки на котором можно от обычных сайтов визиток до полноценный масштабных порталов и даже маркетплейсов
  • Какие гарантии есть на создание сайта в Новосибирске?
    Я предлагаю гарантию на исправление ошибок и техническую поддержку в течение 12 месяцев (1 года) после запуска сайта. Это включает в себя устранение багов и обеспечение корректной работы всех функций. Я также гарантируем соблюдение сроков и качества выполнения работ. Я на столько уверен в качестве своих работ, что готов давать такую большую гарантию
  • Можно ли в дальнейшем менять самостоятельно информацию или только с помощью вас?
    Да, вы сможете самостоятельно изменять информацию на сайте, либо загружать их в электронном виде пакетными методами. Предоставляем подробные инструкции и обучающие материалы как всем пользоваться, чтобы вы могли легко управлять контентом. Однако, если у вас возникнут сложности или потребуется помощь, наша команда всегда готова помочь.
  • Вы оказываете услуги по созданию сайта и технической поддержки по договору ?
    Да, мы работаем только по договору как с юридическими, так и с физическими лицами. Вся необходимая бухгалтерская отчетность предоставляется своевременно.
  • Можно ли перенести уже существующий сайт на платформу 1С-Битрикс?
    Да, перенос сайта на другую платформу возможен, но это сложный процесс, который требует внимательной подготовки. Важно сохранить все данные (контент, изображения, SEO-настройки) и перенести функционал без потерь. Процесс может включать переписывание части кода и настройку новой платформы. Это особенно актуально, если текущая платформа не поддерживает новые функции или технологии. В моем портфолио есть сайт CибНИА имени С. А. Чаплыгина который как раз я полностью перенес на систему 1С битрикс с сохранением всего функционала
  • Чем отличается разработка сайта на шаблоне от индивидуального проекта?
    Сайт на шаблоне создается на основе готового дизайна, что снижает стоимость и ускоряет процесс разработки. Любой шаблон можно кастомизировать под себя НО! Иногда кастомизация может выйти дороже чем индивидуальная разработка. Дополнительно, в шаблонном решение может не быть нужного функционала. Индивидуальный проект создается с нуля по уникальному дизайну и потребностям клиента, что позволяет гибко настраивать функционал, но требует больше времени и ресурсов.
  • Следите ли вы за скоростью загрузки сайта?
    Да на всех этапах скорость загрузки сайта, чистота и оптимизация кода проходят тестирование и правки при ошибках, если хотите, то вы можете принимать активное участие на всех этапах.
  • Какая стоимость разработки сайта в Новосибирске и Москве?
    Стоимость создания и разработки сайта варьируется в зависимости от его сложности и функциональности. Например, базовый вариант может стоить от 100 000 рублей, в то время как более сложные проекты, например сайты интернет-магазинов или корпоративные порталы, могут стоить от 550 000 рублей и выше. Я готов обсудить требования и предложить оптимальное решение, соответствующее вашему бюджету. От региона присутствия сайта стоимость моих работ не меняется. Я не считаю что стоимость сайта в Москве должна превышать стоимость сайта в Новосибирске
  • Как будет работать мой сайт на мобильном телефоне?
    Я разрабатываю сайты с учетом адаптивного дизайна, что обеспечивает их корректное отображение и функциональность на всех устройствах, включая мобильные телефоны и планшеты. Это означает, что сайт будет автоматически подстраиваться под размер экрана, обеспечивая удобство использования и быстрое время загрузки на мобильных устройствах. Мои сайты отличаются доступным и привлекательным юзабилити, которые работают корректно и максимально профессионально увеличивают вашу прибыль.
  • Сколько времени уходит на создание сайта под ключ?
    Сроки разработки интернет-ресурса зависят от сложности проекта, в среднем, создание нового сайта занимает от 4 до 15 недель. Более сложные сайты могут потребовать больше времени. Но бывают проекты которые занимают до 1 года на разработку. Все очень индивидуально и примерные сроки я смогу озвучить после знакомства с Вами