2011-11-16 5 views
3

Android 용 phonegap을 사용하여 앱을 개발 중입니다. 이 모바일 응용 프로그램이 jquery 및 json 객체를 사용하여 cakephp가 지원하는 외부 서버에 일부 데이터 (주로 텍스트)를 보내길 바랍니다.cakephp에서 json 객체를 받고 처리하는 방법은 무엇입니까?

저는 비교적 cakephp와 MVC 구조가 새롭기 때문에 케이크에서이 작업을 진행하는 방법에 대한 일반적인 조언을 주시면 감사하겠습니다. 기본적으로 phonegap이 formdata를 cakeapplication으로 보내고 cake가이 데이터를 데이터베이스에 저장하도록합니다.

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와 : 이것은 내가 폰갭으로 데이터를 전송하기 위해 사용하는 방법에 대해 생각하고 코드입니다

$('#infoForm').submit(function() { 

    var postTo = '//url to cakeapplication'; 

    $.post(postTo,({first_name: $('[name=first_name]').val(), last_name: $('[name=last_name]').val(), email: $('[name=email]').val()}), 
    function(data) { 
     alert(data); 
     if(data != "") { 
      // do something 
     } else { 
      // couldn't connect 
     }   
     },'json'); 
    return false; 
}); 

사람이 얼마나 공정이 데이터에 솜 일반적인 지침을 provde 수 케이크?

감사합니다.

답변

4

PHP5는 json_encode()json_decode() 기능을 많이 사용합니다. PHP4에 붙어 있다면 Cake에 JSON Compenent이 있다고 생각합니다. 후자에 관해서는 많이 말할 수 없지만 PHP5를 호출하면 json_decode()이 데이터베이스 객체에 저장 될 Cake 데이터 배열을 생성하는 데 사용할 수있는 PHP 객체가됩니다.

원하는 것은 데이터베이스에 데이터 저장을 처리하는 Cake 컨트롤러에서 AJAX 함수가 메서드 (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

나는 케이크에 매우 익숙하지 만, 내가 쓴 모든 것을 (거의) 이해할 수 있다고 생각한다. 정말 감사드립니다! 그것은 저에게 무언가를 제공합니다! –

관련 문제