2011-08-17 41 views
1

我想将数据传递给控制器​​中的ajax函数,但$this->data为空。

我在JS:

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

和Controller:

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'];(或$this->params['url']$_GET)。

+1

耶稣,一直在这个垃圾几个小时。应该早些时候写出...超过一百万! – mgPePe