2016-04-23 2 views
0

Мне нужно получить данные из базы данных из файла контроллера и отобразить в файл элемента и значение ajax, отображаемое в элементе проверки, а также когда я предупреждаю в ajax, он показывает, что это значение будет контроллер.ajax post для контроллера и отображения в пользовательский файл элемента

но проблема в том, что как я могу эхо или напечатать значение 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

function getsubcategories() { $ data = "это страница тестирования"; $ this-> set ('data', $ data); } Я создал getubcategories.ctp и