Ajaxly llamo una ruta y le paso datos, en mi controlador, quiero obtener $_POST['var']
, $_POST['var2']
parece debido al uso de HttpFoundation en drupal 8, $_POST
y $_GET
no existen en el método anterior, ¿cómo puedo acceder a los $_POST
parámetros en el controlador personalizado?
24
Respuestas:
Del registro de cambios :
se convierte
Por cierto, para
GET
vars, usarías:fuente
\Drupal::request()->request->all()
En un controlador, obtenga la solicitud con un argumento de tipo insinuado
Request $request
:Más información https://www.drupal.org/docs/8/api/routing-system/using-parameters-in-routes
fuente
Inyecte el
RequestStack
en su controlador.La solicitud actual contiene el
query
atributo que a su vez contiene los parámetros GET.request
contiene los parámetros POST.fuente
Puede verificar el objeto Solicitar como
devolverá GET o POST o lo que sea. Si está trabajando dentro de un objeto, recuerde DI el servicio de solicitud.
fuente
Si está utilizando
Content-Type: application/json
, utilice:fuente
Ninguna de las otras respuestas funcionó para mí, pero encontré esto que sí:
fuente
Este es el ejemplo de acceder a los parámetros de URL y pasarlos a una plantilla TWIG. Estoy considerando que ya ha creado su módulo y los archivos necesarios y supongo que "/ test? Fn = admin" es su URL.
Ahora cree su controlador y ponga el siguiente código en él.
Ahora en su archivo TWIG que debe ser "my-template.html.twig" puede acceder a este parámetro como,
Y ya está hecho. Espero que esto ayude.
fuente