使用ajax将数据从视图传递到控制器不起作用

时间:2016-06-04 13:01:46

标签: ajax cakephp-2.3

我正在使用ajax将数据从视图传递到控制器,这是一个错误 在视图中

$.ajax({
    type:"POST",
    data:{"username": "test"}, 
    url:"/pubad/annonces/test/",
    success : function(data) {
      alert(data);// will alert "ok"

    },
    error : function() {
     //  alert("false");
    }
});

在我的控制器中我有这个功能

public function test() { 
if( $this->request->is('ajax') ) {
    $this->autoRender = false;
}
if ($this->request->isPost()) {  
 $varibale1 = $this->params['data']['username'] ;
//$this->setJsVar('username',  $varibale1);
debug($varibale1);die();
}}

我有这个错误 未定义的索引:用户名 请任何人帮助我

1 个答案:

答案 0 :(得分:0)

Ajax将通过$this->request->data发送数据,或者如果您现在坚持使用它的方式,您可能需要使用$this->params['named']['data'],因为已经可访问的唯一参数是控制器,操作和其他保留的控制器,操作和其他自定义控件,您可以通过named中的$this->params数组访问它们。