Документация для разработчиков
Темная тема

Request

Описание и методы

Request - абстрактный класс. Объект запроса позволяет получить данные о текущем запросе: метод и протокол, запрошенный URL, переданные параметры и т.п. Расширение класса \Bitrix\Main\Type\ParameterDictionary.

Обращается к пространству имён:

Метод Описание С версии
isAjaxRequest Метод возвращает true если текущий запрос - AJAX. 15.5.0

Примеры

$request = $context->getRequest();
// Или более краткая форма:
$request = Context::getCurrent()->getRequest();

Параметры запроса:

$value = $request->get("param");       // получение параметра GET или POST
$value = $request["param"];            // получение параметра GET или POST
$value = $request->getQuery("param");  // получение GET-параметра
$values = $request->getQueryList();    // получение списка GET-параметров
$value = $request->getPost("param");   // получение POST-параметра
$values = $request->getPostList();     // получение списка POST-параметров
$value = $request->getFile("param");   // получение загруженного файла
$values = $request->getFileList();     // получение списка загруженных файлов
$value = $request->getCookie("param"); // получение значения кука
$values = $request->getCookieList();   // получение списка кукисов

Данные о запросе:

$method = $request->getRequestMethod(); // получение метода запроса
$flag = $request->isGet();              // true - GET-запрос, иначе false
$flag = $request->isPost();             // true - POST-запрос, иначе false
$flag = $request->isAjaxRequest();      // true - AJAX-запрос, иначе false
$flag = $request->isHttps();            // true - HTTPS-запрос, иначе false

Данные о запрошенной странице:

$flag = $request->isAdminSection();            // true - находимся в админке, иначе false
$requestUri = $request->getRequestUri();       // Запрошенный адрес (напр. "/catalog/category/?param=value")
$requestPage = $request->getRequestedPage();   // Запрошенная страница (напр. "/catalog/category/index.php")
$rDir  = $request->getRequestedPageDirectory();// Директория запрошенной страницы (напр. "/catalog/category")


Пользовательские комментарии

Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.

Для этого нужно всего лишь авторизоваться на сайте

Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
0
Алексей Кликушин
Сообщение не промодерировано, возможны ошибки и неточности.
В методе $rDir  = $request->getRequestedPageDirectory();// Директория запрошенной страницы (напр. "/catalog/category") написано, что адрес отдает без "/" на конце, но по факту адрес отдает с "/" в конце. Исправьте мануал.
1
xolegator
Сообщение не промодерировано, возможны ошибки и неточности.
Метод getRequestedPageDirectory() раньше возвращал путь без последнего слеша. В какой-то момент метод стал возвращать в конце слеш. Это заметил при обновлении битрикса с версии 22.0.400 до версии 23.300.300. К примеру этого метода из описания выше относитесь с осторожностью.
18
Александр Артамонов
Сообщение не промодерировано, возможны ошибки и неточности.
Вот мне даже интересно - хоть 1 не профессионал битрикса понял по этой статье как получить экземпляр Request? Отвечу:
Код
\Bitrix\Main\Application::getInstance()->getContext()->getRequest();
3
Valentin Borisenko
Сообщение не промодерировано, возможны ошибки и неточности.
Код
$flag = $request->isGet();              // true - GET-запрос, иначе false


Код
[Error] 
Call to undefined method Bitrix\Main\HttpRequest::isGet() (0)
1
мурад гераев
Сообщение не промодерировано, возможны ошибки и неточности.
Есть код, как в getPost сунуть еще другие параметры? Например номер телефона и описание?

$arLoadProductArray = Array(
 "MODIFIED_BY"    => $USER->GetID(), // элемент изменен текущим пользователем
 "IBLOCK_SECTION_ID" => false,          // элемент лежит в корне раздела
 "IBLOCK_ID"      => 11,
 "PROPERTY_VALUES"=> $PROP,
 "NAME"           => $request->getPost("name"),
 "ACTIVE"         => "Y",            // активен
 "PREVIEW_TEXT"   => $request->getPost("oplata"),
 "DETAIL_TEXT"    => $request->getPost("city"),
 "DETAIL_PICTURE" => CFile::MakeFileArray($_SERVER["DOCUMENT_ROOT"]."/image.gif")
 );



if($PRODUCT_ID = $el->Add($arLoadProductArray))
 echo "New ID: ".$PRODUCT_ID;
else
 echo "Error: ".$el->LAST_ERROR;

}
else {
   ?>

<form action="/reklama/add.php" method="post">
<p>Название вакансии:<input type="text" name="name"></p>

<p>Оплата:<input type="text" name="oplata"></p>

<p>Город:<input type="text" name="city"></p>
<p>Номер телефона:   <input type="text" name="number"></p>
<p>Описание: <textarea name="description"></textarea></p>
<p><input type="submit"></p></form>
1
Алексей Назаров
Сообщение не промодерировано, возможны ошибки и неточности.
Чтоб получить все параметры запроса массивом можно использовать метод toArray()

$postValues = $request->getPostList()->toArray();
$getValues = $request->getQueryList()->toArray();
© «Битрикс», 2001-2024, «1С-Битрикс», 2024
Наверх