2011-08-17 10 views
1

コントローラの私のajax関数にデータを渡したいのですが、$this->dataは空です。

私はJSを持っている:

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

とコントローラで:

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

My機能は常に{"data":"no"}を返します。

答えて

3

CakePHPのFormHelperで作成されたフォームからのデータのみが$this->dataになるため、data[Word][one]のようなフィールド名を使用する必要があります。

通常、$_POSTにあるその他のデータについては、$this->params['form'];(または$_GETの場合は$this->params['url'])を参照する必要があります。

+1

イエス様、何時間もこのようなことをしています。以前に書かれたはずの...百万円! – mgPePe

関連する問題