如何从JQuery调用CakepPHP 3动作

时间:2016-09-23 15:29:50

标签: jquery cakephp controller call action

我尝试使用JQuery UI构建自定义Dialog,我需要使用两个按钮将此Dialog作为通用Dialog(允许我从许多视图加载它)。我想发送控制器名称,动作名称和参数,当用户按下OK按钮时,我调用控制器动作传递参数,但我不知道如何实现它。

构建对话框没有问题,试图从JQuery调用控制器的问题,我尝试了类似的东西,但它没有工作:

function showDialog(controller, action, params){
    $( function() {
        $( "#main-dialog" ).dialog({
        modal: true,
        buttons: {
            Ok: function() {
                $.ajax({ url: "http://" + domain.name + "/" + controller + "/" + action + "/" + params });
                $( this ).dialog( "close" );
            },
            Cancel: function(){
                $( this ).dialog( "close" );
            }
        }
        });
    } );
}   

2 个答案:

答案 0 :(得分:0)

试试这个

url  = '<?php echo $this->html->url(array('controller'=>'YourController','action'=>'YourAction')) ?>'

答案 1 :(得分:0)

我终于解决了这个问题:

function showDialog(controller, action){
    var url = "http://" + document.domain + "/" + controller + "/" + action;
    // ...Loop through the received parameters and attach them to the "url" (using the required separator)
    $( function() {
        $( "#main-dialog" ).dialog({
            modal: true,    
            buttons: {
                Ok: function() {
                    window.open(url,"_self");
                    $( this ).dialog( "close" );
                },
                Cancel: function(){
                    $( this ).dialog( "close" );
                }
             }
        });
    });
}