2016-09-23 88 views
0

我想用JQuery UI构建自定义对话框,我需要这个对话框是一个通用对话框(允许我从两个按钮中加载它)。我想向它发送控制器名称,操作名称和参数,当用户按下OK按钮时,我会调用控制器操作来传递参数,但我不知道如何实现它。如何从JQuery调用CakepPHP 3操作

我没有问题建立对话,问题都是试图调用从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"); 
      } 
     } 
     }); 
    }); 
} 
+0

你可以发布您收到 – systematical

+0

我的错误米没有收到任何错误,只是链接不起作用,JavaScript控制台说,域属性不存在,但我尝试手动添加完整的网址没有区别。 –

回答

0

试试这个

url = '<?php echo $this->html->url(array('controller'=>'YourController','action'=>'YourAction')) ?>' 
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"); 
       } 
      } 
     }); 
    }); 
}