热门标签 | 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将数据返回给视图


推荐阅读
  • 本文详细探讨了JavaScript中的闭包与柯里化技术,这两者是函数式编程的重要组成部分,对提升代码的灵活性和可维护性具有重要作用。 ... [详细]
  • 本文介绍了如何利用JavaScript或jQuery来判断网页中的文本框是否处于焦点状态,以及如何检测鼠标是否悬停在指定的HTML元素上。 ... [详细]
  • 一个登陆界面
    预览截图html部分123456789101112用户登入1314邮箱名称邮箱为空15密码密码为空16登 ... [详细]
  • 本文详细介绍了如何利用Go语言和WebSockets技术构建一个高效的实时聊天系统。随着网络应用的日益复杂化,实时交互成为了提升用户体验的关键要素之一。通过本指南,开发者可以学习到最新的技术和最佳实践。 ... [详细]
  • 理解文档对象模型(DOM)
    本文介绍了文档对象模型(DOM)的基本概念,包括其作为HTML文档的节点树结构,以及如何通过JavaScript操作DOM来实现网页的动态交互。 ... [详细]
  • 本文深入探讨了JavaScript中循环结构的使用方法,特别是While循环,用于重复执行一段代码直到特定条件不再满足。同时,文章还介绍了Switch语句在多条件分支选择中的应用。 ... [详细]
  • 本文深入探讨了JavaScript中实现继承的四种常见方法,包括原型链继承、构造函数继承、组合继承和寄生组合继承。对于正在学习或从事Web前端开发的技术人员来说,理解这些继承模式对于提高代码质量和维护性至关重要。 ... [详细]
  • 本文将详细介绍如何在ThinkPHP6框架中实现多数据库的部署,包括读写分离的策略,以及如何通过负载均衡和MySQL同步技术优化数据库性能。 ... [详细]
  • 本文探讨了如何通过WebBrowser控件在用户点击输入框时自动显示图片验证码。该过程可能涉及JavaScript事件的触发与响应。 ... [详细]
  • 本文探讨了浏览器的同源策略限制及其对 AJAX 请求的影响,并详细介绍了如何在 Spring Boot 应用中优雅地处理跨域请求,特别是当请求包含自定义 Headers 时的解决方案。 ... [详细]
  • 本文将介绍如何利用Python爬虫技术抓取国内主流在线学习平台的数据,并以51CTO学院为例,进行详细的技术解析和实践操作。 ... [详细]
  • 深入分析十大PHP开发框架
    随着PHP技术的发展,各类开发框架层出不穷,成为了开发者们热议的话题。本文将详细介绍并对比十款主流的PHP开发框架,旨在帮助开发者根据自身需求选择最合适的工具。 ... [详细]
  • Microsoft即将发布WPF/E的CTP(Community Technology Preview)和SDK,标志着RIA(Rich Internet Application)技术的新里程碑。更多详情及下载链接请参见MSDN官方页面。 ... [详细]
  • 探讨了在用户浏览不同页面时,如何无缝循环播放背景音乐的技术方案,包括自动播放和跨页面状态保持。 ... [详细]
  • ServletContext接口在Java Web开发中扮演着重要角色,它提供了一种方式来获取关于整个Web应用程序的信息。通过ServletContext,开发者可以访问初始化参数、共享数据以及应用资源。 ... [详细]
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社区 版权所有