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();
}

私の関数は常にを返します{"data":"no"}

4

1 に答える 1

3

CakePHPによって作成されたフォームに由来する(または由来しているように見える)データのみがでFormHelper終わるため、の$this->dataようなフィールド名を使用する必要がありますdata[Word][one]

通常で見つかる他のすべてのデータについては$_POST、を調べる必要があります$this->params['form'];(または$this->params['url']を探す必要があります$_GET)。

于 2011-08-17T13:57:19.483 に答える