基本上,如問題所述,我需要在Joomla 2.5/3.xx中獲取「POST」數據,並且我希望通過JInput(該城鎮的新講座)獲得它。通過Joomla中的JInput獲取動態發佈字段/數據
現在一切都很好,很花哨,直到我的進一步需求需要這些領域/數據是動態的,即。它(這些字段)的設計是根據環境而改變的,我無法知道字段是什麼,我知道如何在覈心php中做到這一點,但JInput並非如此,因此,它如何我該怎麼做...
基本上,如問題所述,我需要在Joomla 2.5/3.xx中獲取「POST」數據,並且我希望通過JInput(該城鎮的新講座)獲得它。通過Joomla中的JInput獲取動態發佈字段/數據
現在一切都很好,很花哨,直到我的進一步需求需要這些領域/數據是動態的,即。它(這些字段)的設計是根據環境而改變的,我無法知道字段是什麼,我知道如何在覈心php中做到這一點,但JInput並非如此,因此,它如何我該怎麼做...
JInput不提供這樣的功能;所以你可能不得不使用$ _POST。
你可以避開它,如果你可以輸入在陣列的形式(和使用JInput::getArray()
)或JSON編碼的對象(您使用json_decode(JInput::getString())
)
後者是非常有效的我已經用它在許多項目上取得成功。
試試這個
$post = JFactory::getApplication()->input->post;
嗯,我知道這已經一段時間了,因爲這是問過,但我今天整個問題來了,發現POST
形成一個Joomla解決方案。
$input = JFactory::getApplication()->input;
$fieldname = $input->post->get('fieldname');
這是基本相同,使用$fieldname = $_POST['fieldname'];
除非你Joomla的API內停留的好處。
Joomla3提供兩個功能:
JInputJSON(延伸Jinput與getRaw()方法)
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);
這樣ATM,我現在用的是.serialize()函數jQuery中直接序列化整個窗體,並通過AJAX提交,您的意思是說,我第一次得到整個數據的一個對象,然後json對這個對象進行編碼並傳遞它,如果是這樣的話,那麼對我來說似乎有些尷尬,讓我們看看是否有人有不同的觀點/意見。 –
如果他們這樣做,他們是錯的。開玩笑。但是,您可以在服務器上的jQuery和JInput :: getArray()中使用serializeArray()。 –
我剛剛使用了Global POST,所以我得到了Goin'For Me,這很不錯,直到他們開始提供這個功能。 –