基本上,正如问题描述的那样,我需要在Joomla 2.5 / 3.xx中获取“POST”数据,我想通过JInput(该城镇的新谈话)获得它。
现在一切都很好,花花公子,直到我的进一步要求需要那些领域/数据是动态的,即。它(字段)的设计根据具体情况而改变,我无法知道字段是什么,我知道如何在核心php中做到这一点,但JInput的情况并非如此,所以就是这样,如何我这样做......
答案 0 :(得分:3)
我知道这已经有一段时间了,但是我今天遇到了这个问题并找到了POST
表格的Joomla解决方案。
$input = JFactory::getApplication()->input;
$fieldname = $input->post->get('fieldname');
这与使用$fieldname = $_POST['fieldname'];
基本相同,只是您可以获得留在Joomla API中的额外好处。
答案 1 :(得分:2)
JInput不提供此类功能;所以你可能不得不使用$ _POST。
如果您可以使用数组(并使用JInput::getArray()
)或json编码对象(使用json_decode(JInput::getString())
)
后者非常有效我在很多项目中都成功地使用了它。
答案 2 :(得分:1)
试试这个
$post = JFactory::getApplication()->input->post;
答案 3 :(得分: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);
答案 4 :(得分: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