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 相关文章推荐
使用 eAccelerator加速PHP代码的目的
Mar 16 PHP
PHP操作数组的一些函数整理介绍
Jul 17 PHP
php addslashes及其他清除空格的方法是不安全的
Jan 25 PHP
用PHP提取中英文词语以及数字的首字母的方法介绍
Apr 23 PHP
PHP获取时间排除周六、周日的两个方法
Jun 30 PHP
php curl 上传文件代码实例
Apr 27 PHP
PHP的PDO常用类库实例分析
Apr 07 PHP
php上传大文件设置方法
Apr 14 PHP
php+mysql+jquery实现日历签到功能
Feb 27 PHP
laravel实现分页样式替换示例代码(增加首、尾页)
Sep 22 PHP
详解PHP神奇又有用的Trait
Mar 25 PHP
PHP学习记录之常用的魔术常量详解
Dec 12 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
PHP使用mysql_fetch_object从查询结果中获取对象集的方法
2015/03/18 PHP
PHP API接口必备之输出json格式数据示例代码
2017/06/27 PHP
Javascript Throttle & Debounce应用介绍
2013/03/19 Javascript
js从10种颜色中随机取色实现每次取出不同的颜色
2013/10/23 Javascript
在每个匹配元素的外部插入新元素的方法
2013/12/20 Javascript
jQuery实现异步获取json数据的2种方式
2014/08/29 Javascript
JavaScript判断字符长度、数字、Email、电话等常用判断函数分享
2015/04/01 Javascript
原生JS实现响应式瀑布流布局
2015/04/02 Javascript
javascript实现的网站访问量统计代码
2015/12/20 Javascript
基于jquery实现智能表单验证操作
2016/05/09 Javascript
jQuery轻松实现无缝轮播效果
2017/03/22 jQuery
Moment.js实现多个同时倒计时
2019/08/26 Javascript
vue实现吸顶、锚点和滚动高亮按钮效果
2019/10/21 Javascript
vue使用swiper实现中间大两边小的轮播图效果
2019/11/24 Javascript
Handtrack.js库实现实时监测手部运动(推荐)
2021/02/08 Javascript
Python中的类学习笔记
2014/09/23 Python
python登陆asp网站页面的实现代码
2015/01/14 Python
简单谈谈python中的语句和语法
2017/08/10 Python
python创建列表和向列表添加元素的实现方法
2017/12/25 Python
python中使用psutil查看内存占用的情况
2018/06/11 Python
详解Python中pandas的安装操作说明(傻瓜版)
2019/04/08 Python
python3 pillow模块实现简单验证码
2019/10/31 Python
Python + Requests + Unittest接口自动化测试实例分析
2019/12/12 Python
使用Pytorch来拟合函数方式
2020/01/14 Python
python 追踪except信息方式
2020/04/25 Python
Python使用matplotlib绘制圆形代码实例
2020/05/27 Python
美国面料纺织品商城:Fabric.com
2017/06/28 全球购物
法拉利英国精品店:Ferraris Boutique UK
2019/07/20 全球购物
J2EE面试题集锦(附答案)
2013/08/16 面试题
优秀员工自荐信范文
2013/10/05 职场文书
退伍老兵事迹材料
2014/01/31 职场文书
路政管理毕业自荐书范文
2014/02/10 职场文书
市场部经理岗位职责
2015/02/02 职场文书
年度考核个人总结
2015/03/06 职场文书
2015年财务人员工作总结
2015/04/10 职场文书
经费申请报告范文
2015/05/18 职场文书