博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
接口规范,js处理json,php返回给ajax的数据格式
阅读量:5923 次
发布时间:2019-06-19

本文共 2017 字,大约阅读时间需要 6 分钟。

ajax异步获取php数据。

一般php会在后台处理请求,并返回结果给前端。

必须是echo的方式,不然ajax获取不到。

返回的类型包括,字符串,数字,json。

最常用的就是json。

返回后,前端会处理json成对象,然后使用。

案例如下:

ajax

// 获取good_id,store_id,user_idvar good_id = '{sh:$goods.id}';var store_id = '{sh:$goods.store_id}';var user_id = '{sh:$user_id}';//alert('{sh:$token}');// ajax 加入收藏$.ajax({    type: "post",    url: "{sh::U('User/ajax',array('token'=>$token,'id'=>$goods['id']))}",    data: "do=addcollect&good_id=" + good_id + "&store_id=" + store_id + "&user_id=" + user_id,    success: function(data) {        var data = JSON.parse(data); // 解析成json对象        if (data.success == 1) {            return floatNotify.simple(data.error_code);        } else {            return floatNotify.simple(data.error_code);        }    }});

php端接受到数据,处理,并返回结果(接口)

// 定义接口返回值$success = '';$error_code = '';$datalist = array();$do = trim($_REQUEST['do']);switch ($do) {case 'addcollect':    $good_id = trim($_REQUEST['good_id']);    $store_id = trim($_REQUEST['store_id']);    $user_id = trim($_REQUEST['user_id']);    // 查询是否已存在,不要重复添加    $model = M('WxuserCollection');    $data = $model - >create();    $count = $model - >where(array('user_id' = >$user_id, 'good_id' = >$good_id, 'store_id' = >$store_id)) - >getField('count(*)');    if ($count > 0) {        // 已收藏,请勿重复添加        $success = '2';        $error_code = '已收藏';    } else {        $data['addtime'] = time();        $res = $model - >data($data) - >add(); // 返回值为自增id        if ($res) {            // 收藏成功            $success = '1';            $error_code = '收藏成功';        } else {            // 收藏失败            $success = '0';            $error_code = '收藏失败';        }    }    // 返回json数据,或者字符串,数字。    $json = array('success' = >$success, 'error_code' = >$error_code, 'datalist' = >$datalist);    echo json_encode($json);    break;

这里的success表示成功,失败。

error_code表示提示信息。

datalist可以返回结果集。

这还是很规范的,以后可以使用这三个参数作为接口返回。

php端对数据,进行json_encode()处理。

js端会数据进行JSON.parse()处理。

前后就同一了。

本文转自TBHacker博客园博客,原文链接:http://www.cnblogs.com/jiqing9006/p/4977066.html,如需转载请自行联系原作者

你可能感兴趣的文章
Python非常cool的svg格式chart生成库pygal
查看>>
Telnet部署与启动 windows&&linux
查看>>
行列式的乘法定理
查看>>
Java_Hbase Timeout issue
查看>>
有1000瓶水,3个瓶子可以再换1瓶,一共可以喝多少瓶?
查看>>
Search in Rotated Sorted Array ||
查看>>
matlab函数
查看>>
用群晖ds218play下载人人影视中的视频
查看>>
div中嵌套div速度将会同样很慢
查看>>
公选网站作业4_2.php
查看>>
NUC_HomeWork1 -- POJ2067(最短路)
查看>>
JavaWeb第六周作业
查看>>
『2019/4/8 TGDay1模拟赛 反思与总结』
查看>>
动态生成多选框
查看>>
Codefoeces dp练习题
查看>>
查看hive参数
查看>>
玩转Java对象和XML相互转换
查看>>
解析Hash表算法
查看>>
Linux学习笔记二:tar命令使用
查看>>
杭电2187--悼念512汶川大地震遇难同胞——老人是真饿了
查看>>