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 相关文章推荐
社区(php&&mysql)一
Oct 09 PHP
php获得文件扩展名三法
Nov 25 PHP
抓取YAHOO股票报价的类
May 15 PHP
PHP,ASP.JAVA,JAVA代码格式化工具整理
Jun 15 PHP
Windows下利用Gvim写PHP产生中文乱码问题解决方法
Apr 20 PHP
PHP register_shutdown_function函数的深入解析
Jun 03 PHP
php实现的简易扫雷游戏实例
Jul 09 PHP
ThinkPHP路由详解
Jul 27 PHP
PHP查询附近的人及其距离的实现方法
May 11 PHP
详解PHP 二维数组排序保持键名不变
Mar 06 PHP
php中pcntl_fork创建子进程的方法实例
Mar 14 PHP
PHP 命名空间和自动加载原理与用法实例分析
Apr 29 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的call_user_func传reference引发的思考
2010/07/23 PHP
PHP中file_get_contents高?用法实例
2014/09/24 PHP
PHP使用array_multisort对多个数组或多维数组进行排序
2014/12/16 PHP
Yii数据模型中rules类验证器用法分析
2016/07/15 PHP
jquery html动态生成select标签出问题的解决方法
2013/11/20 Javascript
Jquery $.getJSON 在IE下的缓存问题解决方法
2014/10/10 Javascript
JS基于Mootools实现的个性菜单效果代码
2015/10/21 Javascript
Bootstrap每天必学之媒体对象
2015/11/30 Javascript
jQuery动态添加可拖动元素完整实例(附demo源码下载)
2016/06/21 Javascript
利用Vue.js指令实现全选功能
2016/09/08 Javascript
javascript实现的上下无缝滚动效果
2016/09/19 Javascript
javascript 单例模式详解及简单实例
2017/02/14 Javascript
关于angular js_$watch监控属性和对象详解
2017/04/24 Javascript
ReactJs实现树形结构的数据显示的组件的示例
2017/08/18 Javascript
Vue2.0结合webuploader实现文件分片上传功能
2018/03/09 Javascript
微信小程序实现页面下拉刷新和上拉加载功能详解
2018/12/03 Javascript
微信小程序textarea层级过高(盖住其他元素)问题的解决办法
2019/03/04 Javascript
基于vue通用表单解决方案的思考与分析
2019/03/16 Javascript
Vue 中文本内容超出规定行数后展开收起的处理的实现方法
2019/04/28 Javascript
Node.js 实现抢票小工具 & 短信通知提醒功能
2019/10/22 Javascript
[16:04]DOTA2海涛带你玩炸弹 9月5日更新内容详解
2014/09/05 DOTA
[05:04]DOTA2上海特级锦标赛主赛事第二日TOP10
2016/03/04 DOTA
python开发之基于thread线程搜索本地文件的方法
2015/11/11 Python
python difflib模块示例讲解
2017/09/13 Python
python实现石头剪刀布程序
2021/01/20 Python
PyCharm 无法 import pandas 程序卡住的解决方式
2020/03/09 Python
澳大利亚排名第一的在线酒类商店:MyBottleShop
2018/04/26 全球购物
Farah官方网站:男士服装及配件
2019/11/01 全球购物
日本亚马逊官方网站:Amazon.co.jp
2020/04/14 全球购物
喝酒检查书范文
2014/02/23 职场文书
最新离婚协议书范本
2014/08/19 职场文书
四风个人对照检查材料思想汇报(办公室通用版)
2014/10/07 职场文书
公司会议开幕词
2015/01/29 职场文书
画展邀请函
2015/01/31 职场文书
2015年安置帮教工作总结
2015/05/22 职场文书
创业者如何撰写出一份打动投资人的商业计划书?
2019/07/02 职场文书