ThinkPHP3.1新特性之对Ajax的支持更加完善


Posted in PHP onJune 19, 2014

ThinkPHP3.1版对AJAX的支持更加完善了,具体表现在:

1.判断AJAX方式改进

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

2.ajaxReturn方法完善

原来的ajaxReturn方法只能返回固定结构的数据,包括data、status和info索引信息,如果需要扩展额外的返回数据信息,只能通过ajaxAssign方法,而ThinkPHP3.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);

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

3.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。

PHP 相关文章推荐
Smarty+QUICKFORM小小演示
Feb 25 PHP
php 多线程上下文中安全写文件实现代码
Dec 28 PHP
通俗易懂的php防注入代码
Apr 07 PHP
phpMyAdmin 链接表的附加功能尚未激活的问题
Aug 01 PHP
php之Smarty模板使用方法示例详解
Jul 08 PHP
PHP依赖倒置(Dependency Injection)代码实例
Oct 11 PHP
smarty缓存用法分析
Dec 16 PHP
用PHP生成excel文件到指定目录
Jun 22 PHP
PHP实现的简单分页类及用法示例
May 06 PHP
Linux服务器下PHPMailer发送邮件失败的问题解决
Mar 04 PHP
Laravel 实现密码重置功能
Feb 23 PHP
Laravel框架模板继承操作示例
Jun 11 PHP
php数组合并array_merge()函数使用注意事项
Jun 19 #PHP
ThinkPHP3.1新特性之对分组支持的改进与完善概述
Jun 19 #PHP
ThinkPHP3.1新特性之内容解析输出详解
Jun 19 #PHP
ThinkPHP3.1新特性之对页面压缩输出的支持
Jun 19 #PHP
ThinkPHP3.1新特性之多数据库操作更加完善
Jun 19 #PHP
ThinkPHP3.1新特性之G方法的使用
Jun 19 #PHP
ThinkPHP3.1新特性之查询条件预处理简介
Jun 19 #PHP
You might like
Zend公司全球首推PHP认证
2006/10/09 PHP
ThinkPHP利用PHPMailer实现邮件发送实现代码
2013/09/26 PHP
windows7下安装php的imagick和imagemagick扩展教程
2014/07/04 PHP
PHP图片库imagemagick安装方法
2014/09/23 PHP
PHP7标量类型declare用法实例分析
2016/09/26 PHP
PHP注释语法规范与命名规范详解篇
2018/01/21 PHP
jquery 最简单易用的表单验证插件
2010/02/27 Javascript
JavaScript中也使用$美元符号来代替document.getElementById
2010/06/19 Javascript
jquery阻止后续事件只执行第一个事件
2014/07/24 Javascript
原生js实现移动开发轮播图、相册滑动特效
2015/04/17 Javascript
weex slider实现滑动底部导航功能
2017/08/28 Javascript
jQuery选择器之属性筛选选择器用法详解
2017/09/19 jQuery
利用Node.js了解与测量HTTP所花费的时间详解
2017/09/22 Javascript
微信小程序使用setData修改数组中单个对象的方法分析
2018/12/30 Javascript
layui弹出框Tab选项卡的示例代码
2019/09/04 Javascript
[04:39]显微镜下的DOTA2第十三期—Pis卡尔个人秀
2014/04/04 DOTA
基于asyncio 异步协程框架实现收集B站直播弹幕
2016/09/11 Python
Python中工作日类库Busines Holiday的介绍与使用
2017/07/06 Python
python中的计时器timeit的使用方法
2017/10/20 Python
Python构建网页爬虫原理分析
2017/12/19 Python
Python实现查看系统启动项功能示例
2018/05/10 Python
python基于http下载视频或音频
2018/06/20 Python
python将excel转换为csv的代码方法总结
2019/07/03 Python
Python的bit_length函数来二进制的位数方法
2019/08/27 Python
Tensorflow之梯度裁剪的实现示例
2020/03/08 Python
10张动图学会python循环与递归问题
2021/02/06 Python
JENNIFER BEHR官网:各种耳环和发饰
2020/06/07 全球购物
通信工程专业毕业生推荐信
2013/12/25 职场文书
致短跑运动员广播稿
2014/01/09 职场文书
公司活动策划方案
2014/01/13 职场文书
就业自我评价
2014/02/04 职场文书
给校长的建议书600字
2014/05/15 职场文书
大学生毕业求职信
2014/06/12 职场文书
行政专员岗位职责范本
2014/08/26 职场文书
董事长秘书工作总结
2015/08/14 职场文书
《比的意义》教学反思
2016/02/18 职场文书