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 相关文章推荐
桌面中心(二)数据库写入
Oct 09 PHP
如何在PHP中使用Oracle数据库(4)
Oct 09 PHP
PHP5中的this,self和parent关键字详解教程
Mar 19 PHP
PHP教程 基本语法
Oct 23 PHP
PHP笔记之:基于面向对象设计的详解
May 14 PHP
PHP 伪静态技术原理以及突破原理实现介绍
Jul 12 PHP
php数组合并array_merge()函数使用注意事项
Jun 19 PHP
CodeIgniter框架URL路由总结
Sep 03 PHP
PHP上传文件参考配置大文件上传
Dec 16 PHP
php 的反射详解及示例代码
Aug 25 PHP
PHP封装的PDO数据库操作类实例
Jun 21 PHP
PHP自动生成缩略图函数的源码示例
Mar 18 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
Smarty foreach控制循环次数的一些方法
2015/07/01 PHP
PHP实现从上往下打印二叉树的方法
2018/01/18 PHP
javascript不同类型数据之间的运算的转换方法
2014/02/13 Javascript
jQuery中:empty选择器用法实例
2014/12/30 Javascript
JavaScript生成的动态下雨背景效果实现方法
2015/02/25 Javascript
jQuery插件pagination实现无刷新分页
2016/05/21 Javascript
jQuery实现公告新闻自动滚屏效果实例代码
2016/07/14 Javascript
js HTML5 Canvas绘制转盘抽奖
2020/09/13 Javascript
数组Array的一些方法(总结)
2017/02/17 Javascript
jackson解析json字符串,首字母大写会自动转为小写的方法
2017/12/22 Javascript
JavaScript正则表达式函数总结(常用)
2018/02/22 Javascript
Vue使用高德地图搭建实时公交应用功能(地图 + 附近站点+线路详情 + 输入提示+换乘详情)
2018/05/16 Javascript
JS实现的图片选择顺序切换和循环切换功能示例【测试可用】
2018/12/28 Javascript
python分割列表(list)的方法示例
2017/05/07 Python
Python安装Numpy和matplotlib的方法(推荐)
2017/11/02 Python
python中kmeans聚类实现代码
2018/02/23 Python
使用Python AIML搭建聊天机器人的方法示例
2018/07/09 Python
python生成多个只含0,1元素的随机数组或列表的实例
2018/11/12 Python
django框架F&Q 聚合与分组操作示例
2019/12/12 Python
python3 自动打印出最新版本执行的mysql2redis实例
2020/04/09 Python
python实现贪吃蛇双人大战
2020/04/18 Python
Python图像读写方法对比
2020/11/16 Python
详解Python中string模块除去Str还剩下什么
2020/11/30 Python
python 图像增强算法实现详解
2021/01/24 Python
HTML5 解析规则分析
2009/08/14 HTML / CSS
夏威夷航空官网:Hawaiian Airlines
2016/09/11 全球购物
机电专业个人求职信范文
2013/12/30 职场文书
全陪导游欢迎词
2014/01/17 职场文书
8和9的加减法教学反思
2014/05/01 职场文书
环保建议书100字
2014/05/14 职场文书
企业承诺书格式
2014/05/21 职场文书
2014年体育部工作总结
2014/11/13 职场文书
离婚代理词范文
2015/05/23 职场文书
男人帮观后感
2015/06/18 职场文书
2016年党员干部公开承诺书
2016/03/24 职场文书
Python matplotlib 利用随机函数生成变化图形
2022/04/26 Python