2015-03-30 38 views
0

我遇到以下問題:在cakaphp中不再建議使用jshelper,而是使用普通的javascript。cakephp 2.x在javascript中執行控制器

<?php 
$this->Js->get('#PostCategoryId')->event('change', 
$this->Js->request(array(
'controller'=>'subcategories', 
'action'=>'getByCategory' 
), array(
'update'=>'#PostSubcategoryId', 
'async' => true, 
'method' => 'post', 
'dataExpression'=>true, 
'data'=> $this->Js->serializeForm(array(
'isForm' => true, 
'inline' => true 
)) 
)) 
); 
?> 

我不知道如何在JS執行餅控制器(不使用jshelper):

$this->Js->request(array(
'controller'=>'subcategories', 

通常在PHP核心,我會做這樣的:

$("select#category").change(function(){ 
var id = $("select#category option:selected").attr('value'); 
$.post("select_type.php", {id:id}, function(data){//select_type.php is the "controller" 
    $("select#type").html(data); 
    }); 
}); 

但如何使用控制器在JavaScript(jQuery)?我不知道,但它會工作,如果我這樣做:

$.post("posts/subcategories/getByCategory", {id:id}, function(data){ 
+0

只要給它一個嘗試它會工作。它與cakephp無關,它的所有jquery。嘗試控制檯的URL直接瀏覽你的瀏覽器,你會知道。 – 2015-03-31 05:03:51

+0

是的,它會工作,只是不要忘了在你的url中添加根路徑,這將是var webroot ='<?php echo $ this-> webroot?>';並且比$ .post(webroot +「YOUR CONTROLLER URL」,... – 2015-03-31 06:28:29

+0

我現在有很少的經驗與cakephp,很多東西都不清楚 這就是爲什麼我需要問一下。謝謝你的幫助 – Andrewboy 2015-03-31 09:24:27

回答

相關問題