Tôi đang xây dựng một ứng dụng trong CakePHP và tôi có một cửa sổ hộp thoại jquery và mỗi khi người dùng mở nó, tôi muốn thực hiện một yêu cầu jquery sẽ điền nội dung với kết quả của yêu cầu. Tôi có một file js đó là trong thư mục webroot/js, với kịch bản sau đây:CakePHP: Rendering view sau ajax
$.ajax({
url:'/projects/getAssets',
type:"POST",
data:assetData,
//dataType:'text',
update: '#assetManagerContent'
});
Trong tập tin điều khiển của tôi (ProjectsController) Tôi có chức năng sau:
function getAssets($id = null) {
// Fill select form field after Ajax request.
if(!empty($this->data)){
$this->set('assetsFilter',
$this->Project->Asset->find('list',
array(
'conditions' => array(
'Asset.project_id' => '23'
)
)
)
);
$this->render('elements/assets', 'ajax');
}
}
Và cuối cùng tôi có chế độ xem (phần tử/nội dung):
<?php $assetsFilter = $this->requestAction('projects/getAssets'); ?>
<?php foreach($assetsFilter as $assetFilter): ?>
<div class="assetManager-asset">
<div class="thumb"></div>
<div class="label-name"><?php echo $assetFilter['AssetType']['type'] ?></div>
<div class="label-date"><?php echo $assetFilter['Asset']['layer'] ?></div>
<?php //echo $assetFilter['Asset']['id'] ?>
</div>
<?php endforeach; ?>
Khi người dùng mở hộp thoại, yêu cầu ajax được kích hoạt nhưng dường như không có gì xảy ra trong #assetManagerContent div.
Tôi hy vọng ai đó có thể cho tôi biết những gì tôi đang làm sai
Tìm thấy một bài tương tự tại http://stackoverflow.com/questions/11240639/cakephp-ajax-render –
Tìm thấy bài tương tự trên http://stackoverflow.com/questions/11240639/cakephp -ajax-render –