CakePHP - 如何使用ajax传递url?

时间:2015-05-04 16:51:14

标签: php ajax cakephp

我正在使用cakePHP 3.0,我在使用ajax时遇到了问题。实际上,我想在我的视图“标本”中执行我的控制器“SpecimensController”的动作“viewTab”

<script type="text/javascript" >
var tab = new Array();
function updateResult(){
        $.ajax({
            type:"POST",
            url:"<?php echo Router::url(array('controller'=>'specimens','action'=>'index'));?>",
            data:{datas: $("select[name='filtreVariable\\[\\]']").map(function(){return $(this).val();}).get()},
            dataType: 'text',
            async:false,
            success: function(data){
                alert('success');
            },
            error: function (data) {
                alert("error");
            }
        });
}

$("#filtre").submit(function(){
    updateResult();
});
</script>

“viewTab”动作正在执行:

echo "success";

但我找不到合适的网址,因此可以调用函数成功。我尝试了很多东西,并且我总是遇到被调用的ajax的函数错误。 :/

1 个答案:

答案 0 :(得分:0)

如果还没有,请将这行代码放在您的初始化函数所在的AppController中:

public function initialize()
{
    parent::initialize();
    $this->loadComponent('RequestHandler');
}

在你通过ajax调用的函数的控制器中,尝试这样的事情:

public function index()
{
    $data = ['testing'];
    $this->set(compact('data'));
    $this->set('_serialize', 'data');
}

http://book.cakephp.org/3.0/en/controllers/components/request-handling.html