通过Joomla中的JInput获取动态发布字段/数据

问题描述 投票:1回答:5

基本上问题描述的是,我需要在Joomla 2.5 / 3.xx中获取“POST”数据,我希望它通过JInput(该城镇的新谈话)。

现在一切都很好,花花公子,直到我的进一步要求需要那些领域/数据是动态的,即。它(字段)的设计根据具体情况而改变,我无法知道字段是什么,我知道如何在核心php中做到这一点,但JInput的情况并非如此,所以就是这样,如何我这样做......

joomla joomla2.5 jinput
5个回答
3
投票

我知道这已经有一段时间了,但是我今天遇到了这个问题并找到了POST表格的Joomla解决方案。

$input = JFactory::getApplication()->input;
$fieldname = $input->post->get('fieldname');

这基本上与使用$fieldname = $_POST['fieldname'];相同,除了你获得留在Joomla的API中的额外好处。


2
投票

JInput不提供此类功能;所以你可能不得不使用$ _POST。

如果你可以输入数组(并使用JInput::getArray())或json编码对象(你使用json_decode(JInput::getString())),你可以绕过它

后者非常有效我在很多项目上都成功地使用了它。


1
投票

试试这个

    $post = JFactory::getApplication()->input->post;

1
投票

Joomla3提供两种功能:

JInputJSON(使用getRaw()方法扩展Jinput)

JResponseJson(转换并返回数据为JSON)

请求数据:

var jsonString = '{"test":"1"}';
var data = { ajaxrequest : jsonString }

的Joomla:

$jinput = JFactory::getApplication()->input;
$json = $jinput->getRaw('ajaxrequest'); // returns {\"test\":\"1\"}
$data = json_decode($json); // json decode, returns data object

// do stuff..

echo new JResponseJson($response);

1
投票

你可以使用Jinput

$jinput = JFactory::getApplication()->input;

从特定的超级全球获取价值

$foo = $jinput->get->get('varname', 'default_value', 'filter');
$foo = $jinput->post->get('varname', 'default_value', 'filter');
$foo = $jinput->server->get('varname', 'default_value', 'filter');

有关更多详细信息,请参阅此文档:https://docs.joomla.org/Retrieving_request_data_using_JInput

© www.soinside.com 2019 - 2024. All rights reserved.