我想通过ajax在我的视图上加载项目列表这是我在lst.cpt上的代码
<div id='benpane' class='clearfix'>
<script type="text/javascript">
<?php echo $ajax->remoteFunction(array(
'url'=>array('controller'=>'benefits', 'action'=>'display'),
'update'=>'benpane',
'indicator'=>'benIndicator'
)); ?>
</script>
</div>
这是我的控制器中的lst函数
function lst() {
$this->paginate = array('order' => array('ben_name' => 'ASC'),'conditions' => array($this->Benefit->parseCriteria($this->passedArgs)));
$benefit = $this->paginate('Benefit');
$this->set('bens', $benefit);
}
当我尝试打开视图时出现错误
Error: Call to a member function remoteFunction() on a non-object
File: /var/www/hassportal/app/View/Benefits/lst.ctp
Line: 14
我可能做错了什么?
答案 0 :(得分:1)
除了Ajax Helper已被弃用(和/或你可能没有使用cakephp 2.x)之外,你似乎在调用错误的行为:
'action'=>'display'
应该是:
'action'=>'lst'
此外,我会将代码移到DIV之外,该代码应该使用来自该操作的数据进行更新。
答案 1 :(得分:0)
使用此
$this->Ajax->remoteFunction
坚持
$ajax->remoteFunction
例如: -
<?php echo $this->Ajax->remoteFunction(array(
'url'=>array('controller'=>'benefits', 'action'=>'display'),
'update'=>'benpane',
'indicator'=>'benIndicator'
)); ?>