1

基本上正如问题所描述的,我需要在 Joomla 2.5/3.xx 中获取“POST”数据,并且我希望通过 JInput(镇上的新话题)获得它。

现在一切都很好,花花公子,直到我的进一步要求需要这些字段/数据是动态的,即。它(字段)旨在根据情况进行更改,我无法知道字段将是什么,我知道如何在核心 php 中执行此操作,但 JInput 并非如此,就是这样,如何我做吗...

4

5 回答 5

3

好吧,我知道自从有人问这个问题以来已经有一段时间了,但是我今天遇到了这个问题,并找到了一个 JoomlaPOST表单解决方案。

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

这与使用基本相同,$fieldname = $_POST['fieldname'];只是您可以获得留在 Joomla API 中的额外好处。

于 2014-09-13T15:03:28.680 回答
2

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

如果您可以将输入采用数组(并使用JInput::getArray())或json编码对象(您使用json_decode(JInput::getString()))的形式,则可以绕过它

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

于 2014-01-31T09:25:31.807 回答
1

尝试这个

    $post = JFactory::getApplication()->input->post;
于 2014-05-21T12:20:54.463 回答
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);
于 2016-06-16T09:25:35.843 回答
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

于 2018-11-28T15:44:18.213 回答