2016-09-23 31 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"); 
       } 
      } 
     }); 
    }); 
} 
相關問題