Request в 1С-Битрикс: как обрабатывать параметры запроса

Внимание! Работает режим премодерации. Все сообщения публикуются после проверки!
Страницы: 1
Ответить
RSS
Request в 1С-Битрикс: как обрабатывать параметры запроса
Руководство по работе с классом Request в 1С-Битрикс D7

В современной веб-разработке крайне важно уметь эффективно обрабатывать  входящие запросы от пользователей или других сервисов. Фреймворк  1С-Битрикс предлагает для этого удобные инструменты, одним из которых  является абстрактный класс \Bitrix\Main\Request (наследуется от \Bitrix\Main\Type\ParameterDictionary).  В этой статье мы рассмотрим основные методы и особенности работы с  данным классом, а также разберём несколько практических примеров.
Изменено: Валерий Макеев - 29.09.2025 12:24:31
Этот код создает форму, которая отправляет данные через AJAX и  обрабатывает их на сервере с использованием класса Request в 1С-Битрикс
Код
<?php
require $_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/main/include/prolog_before.php';

use Bitrix\Main\Application;

$request = Application::getInstance()->getContext()->getRequest();

if ($request->getRequestMethod() === 'POST' && $request->isAjaxRequest()) {
    $postData = $request->getPostList()->toArray();
    $response = [
        'status' => 'success',
        'data' => $postData,
        'message' => 'Данные успешно получены через AJAX'
    ];
    header('Content-Type: application/json');
    echo json_encode($response);
    die();
}

require $_SERVER['DOCUMENT_ROOT'].'/bitrix/header.php';
?>
<form method="post" id="demoForm">
    <input type="text" name="test_field" placeholder="Введите данные">
    <button type="submit">Отправить</button>
</form>
<div id="result"></div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    document.getElementById('demoForm').addEventListener('submit', function(e) {
        e.preventDefault();
        fetch('', {
            method: 'POST',
            headers: {'X-Requested-With': 'XMLHttpRequest'},
            body: new FormData(this)
        })
        .then(response => response.json())
        .then(data => {
            document.getElementById('result').innerHTML = data.message;
            console.log('Получены данные:', data.data);
        })
        .catch(error => console.error('Ошибка:', error));
    });
});
</script>

<?php
require $_SERVER['DOCUMENT_ROOT'].'/bitrix/footer.php';
Страницы: 1
Ответить
Форма ответов
Текст сообщения*
Перетащите файлы
Ничего не найдено
Файл
 

Стоимость услуг по разработке и сопровождению сайтов на 1C-Битрикс

Лечение сайтов от вирусов

восстановление сайта и подъем версии PHP

от 25 000 рублей
Лечение сайтов на решениях АСПРО и прочих.

* полный комплекс лечения проекта и закрытия дыр

Разработка корпоративного сайта

от 7 дней

от 40 000 рублей

Разработка сайта без системы оплаты заказов через корзину

* стоимость зависит от наличия верстки, использования готового решения и т.д.

Лендинг

от 3 дней

от 25 000 рублей

Разработка одностраничного сайта на платформе Битрикс

* стоимость зависит от наличия верстки, использования готового решения и т.д.