[英]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.