首页 > PHP资讯 > PHP培训技术 > CakePHP中使用AJAX

CakePHP中使用AJAX

PHP培训技术
使用 AjaxHelper 之前, 你必须下载来自www.prototypejs.org 和 http://script.aculo.us 的最新版本的 JavaScript  库。并将解压后的src文件夹以及prototype.js文件,放置在目录“cakeappwebrootjs”中。

      第一步:控制器部分!

      首先,要在controller中,需要引入 Ajax 和 Javascript helpers,引入RequestHandler组件:

1.classUsersControllerextends AppController{
2.    var$name='Users';
3.    var$helpers=array('Html','Form','Ajax','Javascript');    //助手
4.    var$components=array('Session','Email','RequestHandler');//组件

      控制器方法部分代码:

1.functionknownusers(){
2.    $this->set('knownusers',$this->User->find('all',array('id','username','email'),'id DESC')); 
3.  
4.}

01.functiondelete($id=null){
02.         $this->layout ='ajax';
03.         Configure::write('debug',0);
04.        if($id){
05.            if($this->RequestHandler->isAjax()){//判断是否是ajax请求
06.                $this->User->del($id);
07.                $this->set('knownusers',$this->User->find('all',array('id','username'),'id DESC'));
08.                $this->render('knownusers','ajax');//使用render将数据返回给视图
09.            }else{
10.                $this->redirect(array('action'=>'knownusers'),null,true);
11.            }
12.        }else{
13.            $this->Session->setFlash('重试');
14.            $this->redirect(array('action'=>'knownusers'),null,true);
15.        }
16.    }

      第二步:视图部分。

01.
02.$title_for_layout
03.
04.if( isset($javascript) ) {//在视图中引js文件
05.    echo$javascript->link('prototype.js'); //在视图中引js文件
06.    echo$javascript->link('scriptaculous.js?load=effects');
07.    echo$javascript->link('controls.js');
08.}
09.?>
10. 
11.  
12.
13.    
41.

      第三步:操作结果界面!

点“delete”链接,你会发现该行记录被成功删除!

补充说明:
“$this->render(’knownusers’,’ajax’);//使用render将数据返回给视图 ”
替代写法为:
$this->setAction(’knownusers’);//使用setAction将数据返回给视图

PHP培训技术

本文由欣才IT学院整理发布,未经许可,禁止转载。
支持45不支持0