Ron*_*vdb 5 ajax cakephp cakephp-2.0
我正在CakePHP中构建一个应用程序,我有一个jquery对话框窗口,每次用户打开它时,我想执行一个jquery请求,它将使用请求的结果填充内容.我有一个位于webroot/js文件夹中的js文件,其中包含以下脚本:
$.ajax({
url:'/projects/getAssets',
type:"POST",
data:assetData,
//dataType:'text',
update: '#assetManagerContent'
});
Run Code Online (Sandbox Code Playgroud)
在我的控制器文件(ProjectsController)中,我有以下功能:
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');
}
}
Run Code Online (Sandbox Code Playgroud)
最后我有了视图(元素/资产):
<?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; ?>
Run Code Online (Sandbox Code Playgroud)
当用户打开对话框时,会触发ajax请求,但#assetManagerContent div中似乎没有任何内容.
我希望有人可以告诉我我做错了什么
据我所知,jQuery ajax api中没有update选项。相反,您应该添加成功回调并在其中填充数据:
$.ajax({
url:'/projects/getAssets',
type:"POST",
data:assetData,
//dataType:'text',
success: function(data) {
$('#assetManagerContent').html(data);
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8378 次 |
| 最近记录: |