ThinkPHP3.1新特性之对Ajax的支持更加完善
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。
相关推荐
-
ThinkPHP中ajax使用实例教程
本文实例讲述了ThinkPHP中使用ajax的方法,提交表单如下图所示: 点击提交,不需要刷新本页,将内容提交到数据库当中,并在本页显示提交的内容.如下图所示: 一.jquery实现方法: MessageAction.class.php页面代码如下: <?php class MessageAction extends Action{ function index(){ $this->display(); } function add(){ //ajaxReturn(数据,'提示信息',状态)
-
thinkPHP统计排行与分页显示功能示例
本文实例分析了thinkPHP统计排行与分页显示功能.分享给大家供大家参考,具体如下: 1.分页参数 count 总数 firstRow 起始行 listRows 每一次获取记录数 list 每一页的记录(要与count对应一致就行) 2.分页对象 可以针对真实的数据表 也可以针对统计出来的数据表,或者说是虚拟的表 因为LIMIT是最后执行的,哪怕你进行group操作,哪怕你进行子查询 html <include file="Public:head" title="&q
-
thinkphp区间查询、统计查询与SQL直接查询实例分析
本文实例讲述了thinkphp区间查询.统计查询与SQL直接查询.分享给大家供大家参考.具体方法如下: 一.区间查询: 复制代码 代码如下: $data['id']=array(array('gt',4),array('lt',10));//默认关系是(and)并且的关系 //SELECT * FROM `tp_user` WHERE ( (`id` > 4) AND (`id` < 10) ) $data['id']=array(array('gt',4),array('lt',10
-
ThinkPHP中使用ajax接收json数据的方法
本文实例讲述了ThinkPHP中使用ajax接收json数据的方法.分享给大家供大家参考.具体分析如下: 这里通过ThinkPHP+jquery实现ajax,扩展了下,写了个查询,前台代码如下: 首先需要引入jquery.js,主要代码如下: 复制代码 代码如下: function ajax(id,pic){ //由于ThinkPHP不解析JavaScript里的ThinkPHP常量,所以需要先在这里定义. var URL='__URL__'; $.ajax({
-
thinkphp中AJAX返回ajaxReturn()方法分析
本文分析了thinkphp中AJAX返回ajaxReturn()方法.分享给大家供大家参考,具体如下: 系统支持任何的AJAX类库,Action类提供了ajaxReturn方法用于AJAX调用后返回数据给客户端.并且支持JSON.XML和EVAL三种方式给客户端接受数据,通过配置DEFAULT_AJAX_RETURN进行设置,默认配置采用JSON格式返回数据,在选择不同的AJAX类库的时候可以使用不同的方式返回数据. 要使用ThinkPHP的ajaxReturn方法返回数据的话,需要遵守一定的返
-
thinkphp中ajax与php响应过程详解
本文实例分析了thinkphp中ajax与php响应过程.分享给大家供大家参考.具体分析如下: 一般将前台页面搜索结果中,不喜欢的内容(链接),删除掉,因为整个网站的编程框架式thinkphp,运用js中的ajax对页面进行响应,调用后台php接口,实现前台和后台数据库的同时更新. 首先我们需要做的就是在前台页面中添加一个文本"删除",可以这么添加: 复制代码 代码如下: <a href="javascript:void(0);" id= "<
-
ThinkPHP处理Ajax返回的方法
本文实例讲述了ThinkPHP处理Ajax返回的方法,分享给大家供大家参考.具体实现方法如下: 在ThinkPHP中可以直接使用ajax返回: 复制代码 代码如下: $.post(handleUrl,{username:username.val(),content:content.val()},function(data) { //这里是接收返回来的内容.},'json'); 而在处理过程中可以使用这个函数处理: 复制代码 代码如下: $this->ajaxReturn(要返回的内容,'json
-
thinkphp浏览历史功能实现方法
本文实例讲述了thinkphp浏览历史功能实现方法,分享给大家供大家参考.具体实现方法分析如下: 历史浏览功能都是使用了cookie功能记录用户信息放到了本地了,这样我们只要读取存储在cookies中的值就可以了,下面来给大家介绍一个基于thinkphp 实现浏览历史功能例子. 就像浏览器一样,能够记录访问了哪些页面,这样能够减少时间,下面我们实现浏览历史的功能. 1.在你需要记录浏览数据的产品或新闻页面,记录cookie需要保存的信息,例如下面这行代码,把页面ID,产品名称,价格,缩略图,网址
-
thinkPHP+ajax实现统计页面pv浏览量的方法
本文实例讲述了thinkPHP+ajax实现统计页面pv浏览量的方法.分享给大家供大家参考,具体如下: 统计pv量很常用,下面的代码用ajax实现的,使用ajax可以避免页面缓存造成的影响,只要客户端的js代码执行了就可以统计流量. 一共就两步: 1. 将下面代码放在要统计的html页面中,测试时把地址换成自己的. <script> var ajax; if(window.XMLHttpRequest){ ajax = new XMLHttpRequest();}else{ ajax = ne
-
ThinkPHP实现ajax仿官网搜索功能实例
本文实例讲述了ThinkPHP实现ajax仿官网搜索功能的方法.分享给大家供大家参考. 具体实现方法如下: 后台代码: 复制代码 代码如下: //搜索,如果在1不在0 function search(){ $keyword = $_POST['search']; $Goods=M('goods'); //这里我做的一个模糊查询到名字或者对应的id,主要目的因为我这个系统是 //商城系统里面用到直接看产品ID $map['goods_id|goods_n
-
ThinkPHP结合ajax、Mysql实现的客户端通信功能代码示例
该实例通过ThinkPHP结合Ajax与mysql实现了客户端的通信功能,具体如下: 1.使用js的ajax局部刷新功能,每次刷新将数据库中读取出的新记录插入到页面的显示区域,代码如下: window.onload =setInterval(showWords1000);//加载完成之后开始执行刷新功能 function showWords()//刷新时被调用函数,实现ajax请求 { xmlHttp=GetXmlHttpObject();//从自定义的函数中获取请求对象. if (xmlHtt
-
jquery ajax结合thinkphp的getjson实现跨域的方法
本文实例讲述了jquery ajax结合thinkphp的getjson实现跨域的方法.分享给大家供大家参考,具体如下: jquery中post的应该是不能跨域,网上说get的可以跨域,但是我试了一下也不行,然后就进行最后的拼搏getjson,结果成功,哈哈 js处写作: $.getJSON( "/index.php/Index/test", function(data){ alert(data.dd); } ); 语法: jQuery.getJSON(url,[data],[call
随机推荐
- Angular2入门--架构总览
- Monkey Patch猴子补丁编程方式及其在Ruby中的运用
- oracle监控某表变动触发器例子(监控增,删,改)
- React Native实现进度条弹框的示例代码
- windows下安装php5.2.*,php5.3.*,php5.4.*版本的memcache扩展
- Spring Boot 表单验证篇
- DB2和 Oracle的并发控制(锁)的比较
- python双向链表实现实例代码
- asp.net下用url重写URLReWriter实现任意二级域名的方法第1/2页
- asp.net 生成随机密码的具体代码
- php 操作调试的方法
- 解析PHP正则提取或替换img标记属性
- MYSQL替换时间(年月日)字段时分秒不变实例解析
- js利用appendChild对<li>标签进行排序的实现方法
- JS左右无缝滚动(一般方法+面向对象方法)
- asp与js的类型转换函数介绍
- Java中一些关键字的使用技巧总结
- Android实现手写签名
- 详解使用angular框架离线你的应用(pwa指南)
- Python中的asyncio代码详解