簡體   English   中英

通過Joomla中的JInput獲取動態發布字段/數據

[英]Get Dynamic Post Fields/Data via JInput in Joomla

基本上如問題所述,我需要在Joomla 2.5 / 3.xx中獲取“ POST”數據,並且希望通過JInput(該鎮的新話題)獲得它。

現在一切都好起來了,直到我的進一步需求要求這些字段/數據是動態的,即。 它(字段)旨在根據情況進行更改,我無法知道字段將是什么,我知道如何在核心php中進行操作,但JInput並非如此,因此,如何我會做...

好吧,我知道這是被問到已經有一段時間了,但是今天我遇到了這個問題,找到了一個Joomla解決方案,用於POST表單。

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

這本質上與使用$fieldname = $_POST['fieldname']; 除了獲得使用Joomla API的額外好處。

JInput不提供這種功能。 因此您可能必須使用$ _POST。

如果可以將輸入采用數組形式(並使用JInput::getArray() )或json編碼的對象(您使用json_decode(JInput::getString()) ),則可以解決此問題。

后者非常有效,我已經在許多項目中成功使用了它。

嘗試這個

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

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);

您可以為此使用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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM