2011-08-17 2 views
1

$this->data은 컨트롤러의 Ajax 함수에 데이터를 전달하고 싶습니다.

$.post('/teach/update_word', {one: '1', two: '2'}, function (data){ 
    alert(data); 
}); 

을 그리고 컨트롤러에서 :

은 내가 JS에있는

function update_word(){ // AJAX 
    $output; 
    if($this->data){ 
     $output['data']= 'yes'; 
    }else{ 
     $output['data']= 'no'; 
    } 
    echo json_encode($output); 
    die(); 
} 

내 함수는 항상 {"data":"no"}를 반환합니다.

답변

3

CakePHP의 FormHelper으로 만든 양식 (또는 나오는 것처럼 보이는 데이터) 만 $this->data에 끝나기 때문에 data[Word][one]과 같은 필드 이름을 사용해야합니다.

일반적으로 $_POST에있는 다른 모든 데이터의 경우 $this->params['form']; (또는 $_GET의 경우 $this->params['url'])을 찾아야합니다.

+1

예수님, 몇 시간 동안이 쓰레기를 짚으 셨습니다. 더 일찍 써야했는데 ... 백만번! – mgPePe

관련 문제