2011-11-16 26 views
3

我正在開發一個應用程序使用phonegap的Android。我希望這個移動應用程序能夠使用jquery和json對象將一些數據(主要是文本)發送到由cakephp支持的外部服務器。如何接收和處理cakephp中的json對象?

我對cakephp和MVC結構比較陌生,希望對如何在蛋糕中繼續使用這些建議有所建議。我基本上想要phonegap發送formdata到蛋糕應用程序,並將蛋糕保存到數據庫。這是我的想法用在PhoneGap的發送數據的代碼:

HTML表單:

<form method="post" id="infoForm"> 
     <input type="text" name="first_name" id="first_name" value="" placeholder="First Name" /> 
     <input type="text" name="last_name" id="last_name" value="" placeholder="Last Name" /> 
     <input type="text" name="email" id="email" value="" placeholder="Email" /> 
     <button type="submit">Submit</button> 
</form> 

的Jquery:

​​3210

誰能provde如何處理這個數據在索姆一般說明蛋糕?

謝謝!

回答

4

PHP5具有json_encode()json_decode()功能,它是非常有用的。如果你停留在PHP4上,我相信Cake有JSON Compenent。我不能說太多後者,但調用PHP5 json_decode()將產生一個PHP對象,您可以使用它構造一個Cake數據數組以保存在數據庫中。

你想要的是讓你的AJAX函數在Cake控制器中調用一個方法(例如add())來處理將數據保存到你的數據庫。 Cake的save方法需要一個特殊格式的數組,它的結構爲is detailed here,所以你必須自己手動構造它。

說你PhoneGap數據的模型化數據庫表被稱爲「Phonegap」(在這種情況下,你將有一個PhonegapModelPhonegapsController)。保存數據陣列將具有以下結構:

function add() { 
    $this->data = array(
    'Phonegap' => array(
     'first_name' => 'value', 
     'last_name' => 'value', 
     'email' => 'value' 
    ) 
); 
    $this->Phonegap->save($this->data); 
} 

的JSON對象可能是通過提供$this->params['form']控制器(按here),作爲你執行AJAX職位。我不完全確定你已經知道了多少CakePHP,所以如果有些事情需要澄清,請讓我知道。

+0

我對蛋糕很新穎,但我認爲我能夠理解(幾乎)所有你寫的東西。真的很感謝你的回答!它給了我一些開始! –