Cakephp пустые $ this-> data после $ .post отправляют через jquery - PullRequest
1 голос
/ 17 августа 2011

Я хочу передать данные моей функции 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"}.

1 Ответ

3 голосов
/ 17 августа 2011

Только данные, которые приходят (или выглядят так, как будто они поступают) из форм, созданных в FormHelper CakePHP, заканчиваются на $this->data, поэтому вам нужно будет использовать имена полей, такие как data[Word][one].

Для всех других данных, которые вы обычно находите в $_POST, вам нужно искать в $this->params['form']; (или $this->params['url'] для $_GET).

...