Buduję aplikację w CakePHP i mam okno dialogowe jquery i za każdym razem, gdy użytkownik je otwiera, chcę wykonać żądanie jquery, które zapełni zawartość z wynikiem żądania. Mam pliku js, który jest w folderze webroot/js, z następującym scenariuszu:CakePHP: Rendering widok po ajax
$.ajax({
url:'/projects/getAssets',
type:"POST",
data:assetData,
//dataType:'text',
update: '#assetManagerContent'
});
W moim pliku sterownika (ProjectsController) Mam następującą funkcję:
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');
}
}
iw końcu mają widok (elementy/aktywa):
<?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; ?>
Gdy użytkownik otwiera okno żądania ajax jest wyzwalany, ale nic się nie dzieje w div #assetManagerContent.
Mam nadzieję, że ktoś może mi powiedzieć co robię źle
Znaleziono podobnym stanowisku w http://stackoverflow.com/questions/11240639/cakephp-ajax-render –
Znaleziony podobny post http://stackoverflow.com/questions/11240639/cakephp -ajax-render –