Php如何返回json数据,前后端分离的基本解决方案
php返回json,xml,JSONP等格式的数据
返回json数据:
header('Content-Type:application/json; charset=utf-8');
$arr = array('a'=>1,'b'=>2);
exit(json_encode($arr));
注意:如果不加header直接输出json_encode的值的话,返回的是字符串不是对象,js那边就需要先eval('('+data+')')转化为对象,在取值
返回xml数据:
header('Content-Type:text/xml; charset=utf-8');
exit($xml);
返回jsonp数据:
$arr = array('a'=>1, 'b'=>2, 'c'=>3);
$json = json_encode($arr);
$callback = $_GET['callback'];
exit($callback."($json)");
//注意callback是js传过来的参数名称
thinkphp如何返回各种数据:
$this->ajaxReturn (json_encode($arr),'JSON');
$this->ajaxReturn (json_encode($arr),'JSONP');
$this->ajaxReturn (json_encode($arr),'XML');
json_encode有个参数禁止unicode编码
JSON_UNESCAPED_UNICODE
json_encode('中文',JSON_UNESCAPED_UNICODE);
默认中文编码
header('Content-Type:application/json; charset=gbk');
$data = $db->select($sql);
$data = json_encode($data);
$data=preg_replace("#\\\u([0-9a-f]{4})#ie", "iconv('UCS-2BE', 'gbk', pack('H4', '\\1'))", $data);
exit($data);
最新文章
- session详解
- ICMP type code 对应表(转)
- 客户端请求、服务器响应及其HTTP状态码
- JS 获取 本周、本月、本季度、本年、上月、上周、上季度、去年
- 单例(Singleton pattern)模式的七种写法
- mysql 服务无法启动 服务没有报告任何错误
- iOS最好用的引导页
- python jason,pickle
- python之旅六【第六篇】模块
- curator操作zookeeper
- 2017CCPC秦皇岛 L题One-Dimensional Maze&;&;ZOJ3992【模拟】
- web----粘包
- git拉取远程分支并创建本地分支
- Android使用正则表达式验证手机号
- mysql 触发器 trigger用法 two (稍微复杂的)
- 通过构造系统服务分发实现拦截&;过滤 (仿360游戏保险箱)
- go_常量与枚举
- java 环境配置 maven 环境配置
- JDK的动态代理机制
- 搜索引擎Hoot的源码阅读(提供源码)
热门文章
- Ubuntu物理机中解决VirtualBox虚拟机无法连接USB设备的问题
- spring(一)--spring/springmvc/spring+hibernate(mybatis)配置文件
- javascript系列1--把字符串当代码来执行
- Javaweb之 servlet 开发详解1
- python改变输出字体颜色==>;colorama
- memcache 和 redis 之间的区别
- bzoj 3126 单调队列优化dp
- bzoj 3505 [Cqoi2014]数三角形 组合
- Linux上好用的工具集合
- Ceph万兆内网与系统万兆迁移