2016-04-23 38 views
0

我需要從控制器文件中獲取數據從數據庫中的數據並顯示到元素文件和顯示在檢查元素中的ajax值,並且當我在ajax中警告它顯示值將要控制器。ajax發佈到控制器並顯示到自定義元素文件

但問題是,我如何可以在控制器中回顯或打印ajax值以從數據庫獲取數據並將其顯示到元素文件中?

如何在控制器功能中呈現自定義元素文件?

AJAX腳本

<script> 
$('#categories .accordion .tablist .tablistitem').on('click', function() { 
event.preventDefault(); 
$(".accordion li").removeClass("active"); 
var $li = $(this); 
$liid = $li.attr('id'); 
$slug = $li.data('slug'); 
$li.addClass("active"); 

$('#wrapper').append('<span id="load">LOADING...</span>'); 
$('#categories_info').show(); 

    $.ajax({ 
    type: 'POST', 
    url: '/reviews/getsubcategories', 
    data: {"selectid":$liid }, 
    dataType:"text", 

    success: function(data, textStatus, xhr) {  
     alert(data);   
    }, 
    error: function(xhr, textStatus, error) { 
     alert(textStatus); 


    } 
    }); 
    }); 



</script> 

控制器功能

function getsubcategories() 
{ 
    echo $selectid= $_POST['selectid']; 

    return $selectid; 

} 

元素文件

$SubCategoryObj = cri('Reviews'); 
$selectid = $SubCategoryObj->getMainCategories(); 
echo $selectid; 
+0

這蛋糕的版本? –

+0

@JasonJoslin cakephp版本是2.0.13 –

回答

2

什麼到目前爲止您所做的大部分都是正確的,但是在過去,我只是在View/Reviews文件夾中創建了正常的視圖。

在控制器設置你的數據:

/app/Controller/ReviewsController.php

public function getsubcategories() 
{ 
    $this->layout = 'ajax'; 
    $data = /**code to get data**/ 

    $this->set('data', $data); 

} 

/app/View/Reviews/getsubcategories.ctp

<?php echo json_encode($data); ?> 

另一種選擇是創建上述相同的視圖,但將其放入文件app/View/Ajax/json.ctp

然後在控制器內部,您在getsubcategories動作中調用的最後一件事是。

$this->render('Ajax/json');

以我的經驗元素用於內部的意見,而不是作爲替代意見

+0

我已經嘗試過你的方法,但不工作 –

+0

哪部分不工作?過去我確實設法爲我工作。 –

+0

函數getsubcategories() { $ data =「這是測試頁面」; $ this-> set('data',$ data); } 我已經創建了getsubcategories.ctp和<?php echo json_encode($ data); ?> –

相關問題