Я ajaxly вызываю маршрут и передаю данные на него. В моем контроллере я хочу получить $_POST['var']
, $_POST['var2']
кажется, из-за использования HttpFoundation в drupal 8, $_POST
и $_GET
не существует в старом методе. Как я могу получить доступ к $_POST
параметрам в пользовательском контроллере?
24
Ответы:
Из записи изменений :
становится
Кстати, для
GET
vars вы бы использовали:источник
\Drupal::request()->request->all()
В контроллере получите запрос с аргументом подсказки типа
Request $request
:Дополнительная информация https://www.drupal.org/docs/8/api/routing-system/using-parameters-in-routes
источник
Введите
RequestStack
в свой контроллер.Текущий запрос содержит
query
атрибут, который в свою очередь содержит параметры GET.request
содержит параметры POST.источник
Вы можете проверить объект запроса как
он вернет GET или POST или что-то еще. Если вы работаете внутри объекта, помните DI службу запросов.
источник
Если вы используете,
Content-Type: application/json
пожалуйста, используйте:источник
Ни один из других ответов не сработал для меня, но я нашел следующее:
источник
Вот пример доступа к параметрам URL и передачи их в шаблон TWIG. Я полагаю, что вы уже создали свой модуль и необходимые файлы, и предположим, что "/ test? Fn = admin" является вашим URL
Теперь создайте свой контроллер и поместите в него код ниже.
Теперь в вашем файле TWIG, который должен быть «my-template.html.twig», вы можете получить доступ к этому параметру как,
И это сделано. Надеюсь это поможет.
источник