热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

CakePHP中使用AJAX

使用AjaxHelper之前,你必须下载来自www.prototypejs.org和http://script.aculo.us的最新版本的JavaScript库。并将解压后的src文件夹以及prototype.js文件,放置在目录“\cake\app\webroot\js”中。
使用 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.
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.        Actions
18.    
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将数据返回给视图


推荐阅读
  • 前言对于从事技术的人员来说ajax是这好东西,都会使用,而且乐于使用。但对于新手,开发一个ajax实例,还有是难度的,必竟对于他们这是新东西。leo开发一个简单的ajax实例,用的是 ... [详细]
  • Itwasworkingcorrectly,butyesterdayitstartedgiving401.IhavetriedwithGooglecontactsAPI ... [详细]
  • 本文介绍了使用AJAX的POST请求实现数据修改功能的方法。通过ajax-post技术,可以实现在输入某个id后,通过ajax技术调用post.jsp修改具有该id记录的姓名的值。文章还提到了AJAX的概念和作用,以及使用async参数和open()方法的注意事项。同时强调了不推荐使用async=false的情况,并解释了JavaScript等待服务器响应的机制。 ... [详细]
  • Java实战之电影在线观看系统的实现
    本文介绍了Java实战之电影在线观看系统的实现过程。首先对项目进行了简述,然后展示了系统的效果图。接着介绍了系统的核心代码,包括后台用户管理控制器、电影管理控制器和前台电影控制器。最后对项目的环境配置和使用的技术进行了说明,包括JSP、Spring、SpringMVC、MyBatis、html、css、JavaScript、JQuery、Ajax、layui和maven等。 ... [详细]
  • 在springmvc框架中,前台ajax调用方法,对图片批量下载,如何弹出提示保存位置选框?Controller方法 ... [详细]
  • 本文介绍了DataTables插件的官方网站以及其基本特点和使用方法,包括分页处理、数据过滤、数据排序、数据类型检测、列宽度自动适应、CSS定制样式、隐藏列等功能。同时还介绍了其易用性、可扩展性和灵活性,以及国际化和动态创建表格的功能。此外,还提供了参数初始化和延迟加载的示例代码。 ... [详细]
  • 工作经验谈之-让百度地图API调用数据库内容 及详解
    这段时间,所在项目中要用到的一个模块,就是让数据库中的内容在百度地图上展现出来,如经纬度。主要实现以下几点功能:1.读取数据库中的经纬度值在百度上标注出来。2.点击标注弹出对应信息。3 ... [详细]
  • Allegro总结:1.防焊层(SolderMask):又称绿油层,PCB非布线层,用于制成丝网印板,将不需要焊接的地方涂上防焊剂.在防焊层上预留的焊盘大小要比实际的焊盘大一些,其差值一般 ... [详细]
  • 前言:关于跨域CORS1.没有跨域时,ajax默认是带cookie的2.跨域时,两种解决方案:1)服务器端在filter中配置详情:http:blog.csdn.netwzl002 ... [详细]
  • 表单提交前的最后验证:通常在表单提交前,我们必须确认用户是否都把必须填选的做了,如果没有,就不能被提交到服务器,这里我们用到表单的formname.submit()看演示,其实这个对于我们修炼道 ... [详细]
  • 用JavaScript实现的太空人手表
    用JavaScript实现的太空人手表-JS写的太空人手表,没有用canvas、svg。主要用几个大的函数来动态显示时间、天气这些。天气的获取用到了AJAX请求。代码中有详细的注释 ... [详细]
  • Iwouldliketobeabletohaveasidebarthatcanbetoggledinandoutonabuttonpress.However ... [详细]
  • 但有时候,需要当某事件触发时,我们先做一些操作,然后再跳转,这时,就要用JAVASCRIPT来实现这一跳转功能。下面是具体的做法:一:跳转到新页面,并且是在新窗口中打开时:复制代码代码如下:fu ... [详细]
  • JavaScript在常人看来都是门出不了厅堂的小语言,仅管它没有明星语言的闪耀,但至少网页的闪耀还是需要它的,同时它是一门很实用的语言,本人平时就喜欢拿它来写点实用工具或应用,本文演示用JavaSc ... [详细]
  • JavaScript概述1.JavaScript定义JavaScript是Netscape公司开发的一种基于对象和事件驱动的脚本语言。它是弱类型语言,只能由浏览器解释执行。其中:脚本语言:解释运行( ... [详细]
author-avatar
小小贤
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有