热门标签 | 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元素上。 ... [详细]
  • 本文将详细介绍如何在ThinkPHP6框架中实现多数据库的部署,包括读写分离的策略,以及如何通过负载均衡和MySQL同步技术优化数据库性能。 ... [详细]
  • Microsoft即将发布WPF/E的CTP(Community Technology Preview)和SDK,标志着RIA(Rich Internet Application)技术的新里程碑。更多详情及下载链接请参见MSDN官方页面。 ... [详细]
  • ServletContext接口在Java Web开发中扮演着重要角色,它提供了一种方式来获取关于整个Web应用程序的信息。通过ServletContext,开发者可以访问初始化参数、共享数据以及应用资源。 ... [详细]
  • AJAX技术允许网页在不重新加载整个页面的情况下进行异步更新,通过向服务器发送请求并接收JSON格式的数据,实现局部内容的动态刷新。 ... [详细]
  • 探讨在 Vue 框架中遇到的数据更新延迟或失败的问题,并提供解决方案。 ... [详细]
  • C# 对象转 JSON 字符串的方法与应用
    本文介绍如何在 C# 中使用一般处理程序(ASHX)将对象转换为 JSON 字符串,并通过设置响应类型为 application/json 来确保客户端能够正确解析返回的数据。同时,文章还提供了 HTML 页面中不依赖 jQuery 的 AJAX 方法来接收和处理这些 JSON 数据的具体实现。 ... [详细]
  • 本文介绍了ThinkPHP框架的基本概念及其主要特性。作为一款遵循Apache许可证的开源框架,ThinkPHP不仅支持多种平台和Web服务器,还提供了丰富的功能以适应不同的开发需求。 ... [详细]
  • 本文深入探讨了 Prototype.js 框架及其与 JavaScript 原生 toString() 方法之间的区别,适合对前端开发感兴趣的开发者阅读。文章将帮助读者理解两者在功能实现和应用场景上的不同,从而更好地利用这些工具进行高效编程。 ... [详细]
  • 探讨在特定情况下使用 Knockout.js 的 if 或 visible 绑定的最佳实践,特别是在处理未定义对象时的策略。 ... [详细]
  • 本文探讨如何在VueJS项目中通过配置vue.config.js文件实现多页面应用(MPA),特别是针对管理端和客户端的不同需求。 ... [详细]
  • 本文介绍如何使用 Bootstrap-table 插件实现表格中某一列数据的求和,并在表脚显示总计值。 ... [详细]
  • 本文详细介绍了利用JavaScript实现的五种不同的网页弹出窗口技术,包括全屏窗口、全屏模式窗口、带收藏链接工具栏的窗口、网页对话框及HTA窗口。 ... [详细]
  • 解决JavaScript中法语字符排序问题
    在开发一个使用JavaScript、HTML和CSS的Web应用时,遇到从SQLite数据库中提取的法语词汇排序不正确的问题,特别是带重音符号的字母未按预期排序。 ... [详细]
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社区 版权所有