thinkphp5 --接口实例
这是我自己构思的案例,写的不好请多多指教。
后台接口的代码:
public function index()
{
$res = array();
header("Access-Control-Allow-Origin:*");
$page = input('get.page')?input('get.page'):;
$URL = \think\Request::instance() -> domain(); $data= Db::view('Article','title,des,author,content,cateid,create_time,min_img')
->view('Cate',['cate_name','desc','content'=> 'cate_content'],'Article.cateid = Cate.cate_id')
->paginate(,false,['page'=> $page]); if(!empty($data))
{
foreach($data as $k => &$v)
{
$v['min_img'] = $URL . __UPLOADS__ . '/' .$v['min_img'];//tp5无法修改获取的内容 //使用一下数组的形式
$res[] = $v;
$res[$k]['min_img'] = $URL . __UPLOADS__ . '/' .$v['min_img'];
}
// die(); } // dump($res);
// die(); // return json(['data'=>$data,'code'=>1,'message'=>'操作完成']);//ajax可以,但是jq不行
// return $data -> toJson();//对应JSON.parse解析,都可以// return json($data);//ajax可以,但是jq不行
// return json_encode($data);//对应JSON.parse解析,都可以 //使用一下数组的形式
// return json(['data'=>$res,'code'=>1,'message'=>'操作完成']);//ajax可以,但是jq不行
// return json($res);//ajax可以,但是jq不行
// return json_encode($res);//对应JSON.parse解析,都可以
}
前端的代码:
<script src="./jquery-3.1.1.js"></script>
<script> console.log('下面是JQ打印'); $(function(){
$.get("http://bicktp.com/index/Interfaces?page=2",function(res){
// console.log(JSON.parse(res));
console.log(JSON.parse(res));
})
// $.getJSON("http://www.chinafanke.com/index/Interfaces",function(json){
// console.log(json)
// });
}) console.log('下面是ajax打印'); $.ajax({
type:"GET",
url: "http://bicktp.com/index/Interfaces",
data:
{ },
dataType:"json",
success:function(data)
{
console.log(data);
},
error:function(jqXHR)
{
alert("发生错误:" + jqXHR.status);
} });
</script>
以上的代码说jq不行啊,是因为jq的那个方法里面,多了 JSON.parse()这个方法。
而JSON.parse() 方法用于将一个 JSON 字符串转换为对象。
所以最好的方法是使用json_encode方法来json化会比较好。
刚刚我有看了一下tp5的开发手册,
发现,

而

所以说 $model -> toJson 和 json_encode方法的原理是一样的,所以他们都可以 JSON.parse
但是json_encode的编码格式为unicode编码
而 -> json是UTF-8编码
thinkphp5 --接口实例的更多相关文章
- 规则引擎集成接口(八)Java接口实例
接口实例 右键点击“对象库” —“添加接口实例”,如下图: 弹出如下窗体: 输入接口的参数信息: 点击接口“求和”,选择选项卡“求和操作”,点击添加图标 ,如下: 弹出如下窗体,勾选方法“coun ...
- MyBatis 源码分析——生成Statement接口实例
JDBC的知识对于JAVA开发人员来讲在简单不过的知识了.PreparedStatement的作用更是胸有成竹.我们最常见用到有俩个方法:executeQuery方法和executeUpdate方法. ...
- Easy-Mock模拟get接口和post接口实例
1.先创建项目,再新建接口 创建项目入口:首页右下角 + 按钮 创建接口入口如下图: 关于mock的语法这里不做说明,可查看mock.js官方查看更详情的资料. 小tip:在Easy-Mock里面支持 ...
- postman+jmeter接口实例
接口基础 一.为什么要单独测试接口? 1. 程序是分开开发的,前端还没有开发,后端已经开发完了,可以提前进入测试2. 接口直接返回的数据------越底层发现bug,修复成本是越低的3. 接口测试能模 ...
- webapi+Task并行请求不同接口实例
标题的名称定义不知道是否准确,不过我想表达的意思就是使用Task特性来同时请求多个不同的接口,然后合并数据:我想这种场景的开发对于对接过其他公司接口的人不会陌生,本人也是列属于之内,更多的是使用最原始 ...
- PHP 开发 APP 接口 学习笔记与总结 - APP 接口实例 [2] 首页 APP 接口开发方案 ① 读取数据库方式
方案一:读取数据库方式 从数据库读取信息→封装→生成接口数据 应用场景: 数据时效性比较高的系统 方案二:读取缓存方式 从数据库获取信息(第一次设置缓存或缓存失效时)→封装(第一次设置缓存或缓存失效时 ...
- 在phalcon框架下,php接口规范以及接口实例
接口规范实例 前言 由于本人也是第一次写接口,之前对于接口也是一知半解,没有系统的了解过,所以这次也是写的自己的在这几天在APP项目中关于接口的浅层次的认识,如果有不妥或者不当的地方还请指出,再此谢谢 ...
- 获取Ip 的地域等信息接口-实例
今天项目要用到 查询访问网站用户的IP 然后网上查询了 资料还很多 不过有些已经失效了 在这总结下 腾讯,pconline 的API已经失效 不能使用 淘宝的IP接口地址: http://ip.tao ...
- Android少量数据保存之SharedPreferences接口实例
SharedPreferences数据保存主要是通过键值的方式存储在xml文件中 xml文件在data/此程序的包名/XX.xml 格式 <?xml version='1.0' encoding ...
随机推荐
- python中的可变和不可变对象 有序和无序对象
可变对象和不可变对象的定义:对象存放在地址的值是否可以被改变 不可变对象包括:整形int.浮点型float .字符串str .元祖tuple.布尔型boole 可变对象包括 :列表list.集合set ...
- JAVA常见面试题问题简述(持续更新中)
JAVA常见面试题问题简述 1. springcloud和dubbo的区别 ①相比之下springcloud 的社区会更加活跃,解决问题的速度也会越来越快,dubbo相对来说如果碰到没有解决的问题,就 ...
- JS 剑指Offer(四) 从尾到头打印链表
题目:输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回). 首先定义一下链表中的节点,关于链表这个数据结构在另外一篇文章中会详细讲 function ListNode(val) { t ...
- C 电压
时间限制 : 10000 MS 空间限制 : - KB 评测说明 : 1s,256m 问题描述 JOI社的某个实验室中有着复杂的电路.电路由n个节点和m根细长的电阻组成.节点被标号为1~N ...
- dict字典的用法
在用dict遇到了一些困难,记一下. 代码1: books={"倚天屠龙记":{"id":1,"price":100}, "好吗好 ...
- Java 使用InputStream笔记
当我们要从网络下载资源时,使用类似如下方法来获取InputStream实例: URLConnection connection = new URL("http://www.XXXX.XXX& ...
- 大曾Blogs使用说明书😊——Super ITZ
大曾Blogs使用说明书 先敲黑板,四句话: pipe搜索,简洁,用于跳转,博客园及csdn和github 博客园炫酷界面,用于查看主要博文 csdn所有博客汇总,查看详细信息 github项目源码汇 ...
- Java中的形参和实参的区别以及传值调用和传引用调用
名词解析: 1.形参:用来接收调用该方法时传递的参数.只有在被调用的时候才分配内存空间,一旦调用结束,就释放内存空间.因此仅仅在方法内有效. 2.实参:传递给被调用方法的值,预先创建并赋予确定值. 3 ...
- 家庭版记账本app进度之编辑框组件
<EditText>中设置提示信息是用到的语句是android:hint来进行提示语句的书写. android:inputType可以将此编辑框设置为输入密码的编辑框(现实的是小黑点) a ...
- String与StringBuffer和StringBuilder的根本区别(String为什么无法修改字符串长度)
从网上看了很多的信息,说的大部分是关于final修饰的原因,却没有详细的解释!根据自己收集的资料,跟大家分享一下我的观点(有错请指正).1.我们都知道在修改字符串长度的时候,StringBuffer和 ...