it-swarm-es.com

Enviar matriz de javascript a php por POST en Joomla 3.x

estoy tratando de enviar una matriz de javascript al archivo php de Joomla 3.x.

var options = ['foo', 'bar'];

$.post('index.php?option=component&view=componentview&Itemid=123&tmpl=component&layout=xlsx', {'xlsx_options': options})

Luego, tengo un archivo php que crea datos para descargar el archivo xlsx. Pero necesito filtrar por esta matriz de opciones y no puedo recuperarlo. He intentado esto sin éxito.

$xlsx = $_POST['xlsx_options'];
$xlsx = json_decode($_POST['xlsx_options'], true);
$xlsx = JFactory::getApplication()->input->get('xlsx_options');

¿Alguna ayuda? ¡Gracias!

3
Mark Fdez

En primer lugar, debe codificar su matriz en Javascript, así:

var options = JSON.stringify(['foo', 'bar']);

$.post('index.php?option=component&view=componentview&Itemid=123&tmpl=component&layout=xlsx&options=' + options);

Luego, en su código PHP código, use lo siguiente en lugar de $_POST:

$input = JFactory::getApplication()->input;
$xlsx  = json_decode($input->get('xlsx_options'));

echo $xlsx->foo;
echo $xlsx->bar;
1
Lodder