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")
Сообщение не промодерировано, возможны ошибки и неточности.
|
В методе $rDir = $request->getRequestedPageDirectory();// Директория запрошенной страницы (напр. "/catalog/category") написано, что адрес отдает без "/" на конце, но по факту адрес отдает с "/" в конце. Исправьте мануал.
|
Сообщение не промодерировано, возможны ошибки и неточности.
|
Метод getRequestedPageDirectory() раньше возвращал путь без последнего слеша. В какой-то момент метод стал возвращать в конце слеш. Это заметил при обновлении битрикса с версии 22.0.400 до версии 23.300.300. К примеру этого метода из описания выше относитесь с осторожностью.
|
Сообщение не промодерировано, возможны ошибки и неточности.
|
||
Вот мне даже интересно - хоть 1 не профессионал битрикса понял по этой статье как получить экземпляр Request? Отвечу:
| ||
Сообщение не промодерировано, возможны ошибки и неточности.
|
||||
| ||||
Сообщение не промодерировано, возможны ошибки и неточности.
|
Есть код, как в 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> |
Сообщение не промодерировано, возможны ошибки и неточности.
|
Чтоб получить все параметры запроса массивом можно использовать метод toArray()
$postValues = $request->getPostList()->toArray(); $getValues = $request->getQueryList()->toArray(); |
© «Битрикс», 2001-2024, «1С-Битрикс», 2024
Пользовательские комментарии
Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.Для этого нужно всего лишь авторизоваться на сайте
Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.
Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.