返回
多御红包活动

thinkphp5 --接口实例

发布时间:2022-09-28 01:26:23 84

这是我自己构思的案例,写的不好请多多指教。

后台接口的代码:

public function index()
{
$res = array();
header("Access-Control-Allow-Origin:*");
$page = input('get.page')?input('get.page'):1;
$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(2,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解析,都可以
}

前端的代码:


以上的代码说jq不行啊,是因为jq的那个方法里面,多了  JSON.parse()这个方法。

而JSON.parse() 方法用于将一个 JSON 字符串转换为对象。

所以最好的方法是使用json_encode方法来json化会比较好。

 

刚刚我有看了一下tp5的开发手册,

发现,

thinkphp5 --接口实例_数组

thinkphp5 --接口实例_接口_02

所以说  $model -> toJson 和  json_encode方法的原理是一样的,所以他们都可以  JSON.parse

但是json_encode的编码格式为unicode编码

而 -> json是UTF-8编码


特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(0)
按点赞数排序
用户头像
精选文章
thumb 中国研究员首次曝光美国国安局顶级后门—“方程式组织”
thumb 俄乌线上战争,网络攻击弥漫着数字硝烟
thumb 从网络安全角度了解俄罗斯入侵乌克兰的相关事件时间线
下一篇
php 对象的调用和引入 2022-09-28 00:30:05