ThinkPHP v3.1开发框架新特性:Ajax支持完善

3.1对AJAX的支持更加完善了,表现在:

判断AJAX方式改进

现在可以直接使用常量IS_AJAX来判断是否AJAX方式请求,用来取代之前的">Action类的isAjax方法,优势是可以在任何代码里面进行判断。而Action类的error和success方法内置就支持对AJAX自动判断支持。

ajaxReturn方法完善

原来的ajaxReturn方法只能返回固定结构的数据,包括data、status和info索引信息,如果需要扩展额外的返回数据信息,只能通过ajaxAssign方法,3.1版本改进了ajaxReturn方法本身,可以更好的支持ajax数据扩展,例如:

$data['status'] = 1;$data['info'] = '返回信息';$data['data'] = '返回数据';$data['url'] = 'URL地址';$this->ajaxReturn($data);

data传值数组可以随意定义。
改进后的ajaxReturn方法也兼容之前的写法,例如:

$this->ajaxReturn($data,'info',1);

系统会自动把info和1两个参数并入$data数组中,等同于赋值

$data['info'] = 'info';$data['status'] = 1;$data['data'] = $data;$this->ajaxReturn($data);

但这种用法不再建议使用了。

success和error方法完善对ajax支持

如果是ajax方式下面,Action类的success和error方法都做了改进支持,这两个方法的参数会转换成ajaxReturn方法的data数据的info、status和url参数。还可以支持传入其他的参数,有两种方式支持ajax传值。以success方法为例,第一种方式是直接传入ajax数据

$data['code'] = 200;$data['name'] = '
ThinkPHP';$this->success('成功提示信息','跳转地址',$data);

或者采用

$this->assign('code',200);$this->assign('name','thinkphp');$this->success('成功提示信息','跳转地址');

最终返回给客户端的ajax数据信息是一个数组,包括name、code、info、status和url。

时间: 2024-12-09 03:45:45

ThinkPHP v3.1开发框架新特性:Ajax支持完善的相关文章

ThinkPHP v3.1开发框架新特性:页面压缩输出支持

现在大多数浏览器都已经支持页面的压缩输出,通过压缩输出,页面大小可以减少30%,由于3.0版本没有内置页面压缩输出功能,所以一般来说,需要自己在入口文件中添加: ob_start('ob_gzhanhttp://www.aliyun.com/zixun/aggregation/16504.html">dler'); 但是由于服务器环境的不同,8630.html">有时候这个配置会和php.ini文件中的zlib压缩配置冲突.3.1新版则内置了页面压缩输出功能,不需要再手动添

ThinkPHP v3.1开发框架新特性:多数据操作的完善

正常情况下,如果应用只是操作同一个数据库(或者分布式数据库)的话,你只需要在项目配置文件中定义数据库连接信息即可.这里说的多数据库操作一般指的是在一个应用中会操作不同的数据库(包括同类型的和不同类型的数据库),甚至包括动态切换多数据库的情况.早期版本的ThinkPHP切换数据库需要使用高级模型,现在可以更加轻松的解决了.新版对多数据的支持有下面几种方式,http://www.aliyun.com/zixun/aggregation/7155.html">开发人员可以根据实际情况选择合适的方

ThinkPHP v3.1开发框架新特性:内容解析输出

ThinkPHP中页面输出的过程是读取模板文件,然后进行模板解析(也支持调用第三方模板引擎解析),但是有一些情况,我们并没有定义模板文件,或者把模板文件保存在数据库里面,那么这个时候进行页面输出的时候,我们是无法进行模板文件读取的,3.1版本则针对这样的情况增加了内容解析输出的功能.内置的模板引擎也进行了完善,如果传入的模板文件不存在的话,则会认为是传入的模板解析内容,因此,3.1的View类和http://www.aliyun.com/zixun/aggregation/16339.html"

ThinkPHP v3.1开发框架新特性:查询条件预处理

3.0版本对数组方式的查询条件会进行安全过滤(由于3.0强制使用了字段类型检测,所以数组方式的查询条件会强制转换为字段的设定类型),但不支持字符串条件的安全过滤.3.1版本则增加了对条件字符串增加了预处理支持,让ORM的安全性更加得以保证.一.使用where方法 Model类的where方法支持字符串条件预处理,使用方式: $Model->where("id=%d&http://www.aliyun.com/zixun/aggregation/37954.html">

IE10对CSS3新特性的支持和HTML5新特性的支持

文章简介:IE10将增强对HTML5和CSS3的支持. Windows 8 终于发布了,虽然现在可用的只是开发者预览版,好消息是,IE 10 也随着发了,虽然现在还只有Windows 8可用.我们来看下IE10都有哪些新特性吧. IE开发者中心给到了一份详细的针对前端开发者的文档,列出了IE10支持的HTML5和CSS3新特性.嗯,它终于跟上了: CSS3 css region css3多列 Flexbox grid 定位浮动(positioned float) 3D变换(3D transfro

Docker 1.5新特性:支持IPV6、只读容器、容器运行监控,还有彩蛋

本文讲的是Docker 1.5新特性:支持IPV6.只读容器.容器运行监控,还有彩蛋,[编者的话]Docker 1.5是今年Docker第一个发布版本,在这个版本中Docker加入很多期望已久的新功能,新特性,让我们来看看吧!比如支持IPV6.只读容器.容器运行监控.构建时指定Dockerfiles....仔细看文章,还有彩蛋. Docker项目开发组决定在新的一年开始之初放出一些很酷的东西,大家都猜到了,那就是Docker 1.5,也是2015年Docker的第一个release版本.在这个版

[20130915]12c新特性 varchar2支持32K长度.txt

[20130915]12c新特性 varchar2支持32K长度.txt oracle 12c以前如果字符串长度超过4000,必须使用blob或者clob类型.12c开始支持超过4000的字符串长度,提高一些应用的灵活性,达到32K,避免一些字段定义为clob,blob类型,提高处理能力. 但是12c默认的方式不支持大于4000的字符串长度,必须经过一些步骤升级完成,自己测试如下: SYS@test> @ver BANNER                                    

探索Eclipse V3.1的新特性

这份教程演示了 Eclipse 的最新发行版 V3.1 中的许多新特性.如果正考虑 从以前的发行版升级到 V3.1,或者正考虑从其他集成开发环境转到 Eclipse, 那么您会发现本教程非常有用.如果想修改代码,以利用 Java 语言的 最新一代 Java 2 Standard Edition V1.5(为 Java 编程语言添加了许多强大 的结构和便利),本教程也会给您带来很大的帮助. 预备知识 了解本教程的学习目标和最佳学习方式. 关于本教 程 本教程演示了 Eclipse 的最新发行版 V

Linux 3.7新特性:支持64位ARM架构

Linus Torvalds宣布发布Linux 3.7,表示Linux 3.8的合并窗口将在圣诞节前夜关闭. 新版的主要新特性包括:支持64位ARM架构:支持ARM多平台--即使用单个内核就能启动进入不同ARM系统. 支持加密签名内核模块,允许完全停止未正确签名模块载入:更新Btrfs文件系统,加快fsync()系统调用,移除单目录硬链接限制,支持chattr per-file NOCOW,许关闭使用nodatacow选项的文件数据写时复制:新的实验性strace替代工具perf trace:支