PHP头条
热点:

CakePHP中使用AJAX


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

      第一步:控制器部分!

      首先,要在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.    14.    15.        16.        17.        Actions18.    19.     20.   21.        $i= 0; 22.        foreach($knownusers as$user): 23.    ?> 24.        25.            28.            31.            38.        39.    40.    
id username
26.                 $user['User']['id'] ?> 27.             29.                 $user['User']['username'] ?> 30.             32.             33.            if( isset($ajax) ) { 34.                echo$ajax->link('delete',array('action' =>'delete',$user['User']['id']),array('update' =>'knownusers' ));//在删除操作上,使用ajax方式发送请求! 35.            } 36.            ?> 37.            
41.

      第三步:操作结果界面!

2009-4-30 10-35-08

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

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

www.phpzy.comtrue/phpkj/11032.htmlTechArticleCakePHP中使用AJAX 使用 AjaxHelper 之前, 你必须下载来自www.prototypejs.org 和 http://script.aculo.us 的最新版本的 JavaScript 库。并将解压后的src文件夹以及prototype.js文件,放置在目录“\cake\app\webr...

相关文章

相关频道:

PHP之友评论

今天推荐