thinkphp中的AJAX返回ajaxReturn()
系统支持任何的AJAX类库,Action类提供了ajaxReturn方法用于AJAX调用后返回数据给客户端。并且支持JSON、XML和EVAL三种方式给客户端接受数据,通过配置DEFAULT_AJAX_RETURN进行设置,默认配置采用JSON格式返回数据,在选择不同的AJAX类库的时候可以使用不同的方式返回数据。 要使用ThinkPHP的ajaxReturn方法返回数据的话,需要遵守一定的返回数据的格式规范。ThinkPHP返回的数据格式包括:status 操作状态 info 提示信息 data 返回数据 $this->ajaxReturn(返回数据,提示信息,操作状态);返回数据data可以支持字符串、数字和数组、对象,返回客户端的时候根据不同的返回格式进行编码后传输。如果是JSON格式,会自动编码成JSON字符串,如果是XML方式,会自动编码成XML字符串,如果是EVAL方式的话,只会输出字符串data数据,并且忽略status和info信息。下面是一个简单的例子: 复制代码$User=M("User");//实例化User对象 $result = $User->add($data); if ($result){//成功后返回客户端新增的用户ID,并返回提示信息和操作状态$this->ajaxReturn($result,"新增成功!",1); }else{//错误后返回错误的操作状态和提示信息$this->ajaxReturn(0,"新增错误!",0); }复制代码$data['status'] = 1; $data['info'] = 'info'; $data['size'] = 9; $data['url'] = $url; $this->ajaxReturn($data,'JSON');thinkphp源代码: 复制代码/*** Ajax方式返回数据到客户端* @access protected* @param mixed $data 要返回的数据* @param String $type AJAX返回数据格式* @return void*/protected function ajaxReturn($data,$type='') {if(func_num_args()>2) {// 兼容3.0之前用法$args = func_get_args();array_shift($args);$info = array();$info['data'] = $data;$info['info'] = array_shift($args);$info['status'] = array_shift($args);$data = $info;$type = $args?array_shift($args):'';}if(empty($type)) $type = C('DEFAULT_AJAX_RETURN');if(strtoupper($type)=='JSON') {// 返回JSON数据格式到客户端 包含状态信息header('Content-Type:text/html; charset=utf-8');exit(json_encode($data));}elseif(strtoupper($type)=='XML'){// 返回xml格式数据header('Content-Type:text/xml; charset=utf-8');exit(xml_encode($data));}elseif(strtoupper($type)=='EVAL'){// 返回可执行的js脚本header('Content-Type:text/html; charset=utf-8');exit($data);}else{// TODO 增加其它格式 }}复制代码
thinkphp中的AJAX返回ajaxReturn()相关推荐
- sweetalert 2.0 ajax,处理SweetAlert2中的AJAX返回值
我使用带有AJAX请求的SweetAlert2 Popup.一旦用户点击提交,我执行请求. 在PHP文件中,我对提交的数据进行了一些验证,根据结果,我想在SweetAlert2中为用户提供反馈作为信息 ...
- layer中html字符转换,在layer弹出层中通过ajax返回html拼接字符串填充数据的方法...
1,在给一个layer弹出层做checkbox自动选中时,ViewBag传递的时object类型,用不了lambda表达式,代码如下, @foreach (var perm in ViewBag.al ...
- (thinkphp、jQuery)ajax返回json数据
Thinkphp部分代码: <?php namespace Yxg\Controller;use Think\Controller;class IndexController extends C ...
- ajax中slidedown,Ajax返回的jQuery slideDown,使用div延迟
我有ajax返回字符串,多个div.我需要计算字符串中的每个div(如果有必要,也许我必须创建一个数组),然后每隔x秒用一个.delay('200');滑动每个div. 请记住,每次返回时ajax返回 ...
- php400错误的请求,Wordpress中的Ajax返回400错误请求,但不确定如何进一步调试 - WordPress - srcmini...
我一直试图使用Ajax将页面的数据(或其他任何东西)输出到div中.数据基于页面上的列表.尽管调用Ajax请求的jQuery函数似乎可以正常工作, 但是从Ajax调用在控制台上却收到了400个错误的请 ...
- 在Thinkphp中使用AJAX实现无刷新分页
在Thinkphp目录的Lib\ORG\Util\目录里新建AjaxPage.class.php,写入一下内容: <?php // +------------------------------ ...
- php中ajax用法,thinkphp中使用ajax
前端页面请求表单,接收返回值 ~~~ function aa() { $.get("{:u('Userspay/test')}",function(data,status) { / ...
- SpringMVC中通过@ResponseBody返回对象,Js中调用@ResponseBody返回值,统计剩余评论字数的js,@RequestParam默认值,@PathVariable的用法
1.SpringMVC中通过@ResponseBody返回对象,作为JQuery中的ajax返回值 package com.kuman.cartoon.controller; import java. ...
- Thinkphp 零散知识点(caa/js路径,引入第三方类,ajax返回,session/cookie)
一.关于JS和CSS路径问题 1.找路径是从入口文件index.php来找的,而不是从文件本身所在位置来找, 因为我们访问时是访问的入口文件 2.在存放JS和CSS的时候可以放到public文件夹下 ...
最新文章
- 近期必读的5篇AI顶会CVPR 2020 GNN (图神经网络) 相关论文
- pycharm如何设置快捷键
- ASP.NET 5系列教程 (二):Hello World
- Recommend索引
- 树莓派制作“数码显微镜”,了解一下?
- 【盘它!】那些让效率MAX的工具和方法(Mac篇)
- Linux运维13款实用工具
- c语言vs开发小型数据库,用C语言开发小型数据库管理系统代码
- 预训练语言模型论文分类整理:综述、基准数据集、PLM的设计和分析
- day15:磁盘格式化和挂载
- python提取图片gps坐标_用python从.docx文件中提取GPS坐标
- private-bower
- VUE自学日志01-MVC和MVVM
- 什么是抽象类?抽象类的作用_Java面试题amp;和amp;amp;的作用和区别
- JAVA语法基础作业——动手动脑以及课后实验性问题(一)
- MFC中的几个虚函数
- M1 Repast Simphony打不开 无反应问题解决
- hua图软件 mac_CAD迷你画图for Mac-CAD迷你画图Mac版下载 V3.3.6-PC6苹果网
- Windows打印管理解决方案
- Oracle 按日期分组
热门文章
- 供销合作社对话中国农民丰收节交易会 谋定为农服务主业
- vue引入vue-amap
- 如何共享自己的mysql
- 转载 程序员上帝视角解读“旅行青蛙”,你的呱真的在旅行嘛? (手机游戏)...
- canvas手机端绘图解决方案
- 基于Ubuntu+Owncloud的私有云网盘
- VS2015安装简单的C#单元测试
- OBIEE 11g:Error:nQSError 36010 Server version 318 cannot read the newer version of the repository
- 有趣设计工作室创始人段先洲:UI设计师的名利场
- 【体验干货】产品经理必知:产品体验报告如何写的全而精