返回顶部

[Discuz] ajax调用php返回给ajax的数据格式

[复制链接]
awagink 显示全部楼层 发表于 2021-2-20 18:03:04 |阅读模式 打印 上一主题 下一主题
接口规范,js处理json,php返回给ajax的数据格式
ajax异步获取php数据。

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

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

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

最常用的就是json。

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

案例如下:

ajax


  1. // 获取good_id,store_id,user_id
  2. var good_id = '{sh:$goods.id}';
  3. var store_id = '{sh:$goods.store_id}';
  4. var user_id = '{sh:$user_id}';
  5. //alert('{sh:$token}');
  6. // ajax 加入收藏
  7. $.ajax({
  8.     type: "post",
  9.     url: "{sh::U('User/ajax',array('token'=>$token,'id'=>$goods['id']))}",
  10.     data: "do=addcollect&good_id=" + good_id + "&store_id=" + store_id + "&user_id=" + user_id,
  11.     success: function(data) {
  12.         var data = JSON.parse(data); // 解析成json对象
  13.         if (data.success == 1) {
  14.             return floatNotify.simple(data.error_code);
  15.         } else {
  16.             return floatNotify.simple(data.error_code);
  17.         }
  18.     }
  19. });
复制代码


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

复制代码

  1. // 定义接口返回值
  2. $success = '';
  3. $error_code = '';
  4. $datalist = array();
  5. $do = trim($_REQUEST['do']);
  6. switch ($do) {
  7. case 'addcollect':
  8.     $good_id = trim($_REQUEST['good_id']);
  9.     $store_id = trim($_REQUEST['store_id']);
  10.     $user_id = trim($_REQUEST['user_id']);
  11.     // 查询是否已存在,不要重复添加
  12.     $model = M('WxuserCollection');
  13.     $data = $model - >create();

  14.     $count = $model - >where(array('user_id' = >$user_id, 'good_id' = >$good_id, 'store_id' = >$store_id)) - >getField('count(*)');
  15.     if ($count > 0) {
  16.         // 已收藏,请勿重复添加
  17.         $success = '2';
  18.         $error_code = '已收藏';
  19.     } else {
  20.         $data['addtime'] = time();
  21.         $res = $model - >data($data) - >add(); // 返回值为自增id
  22.         if ($res) {
  23.             // 收藏成功
  24.             $success = '1';
  25.             $error_code = '收藏成功';
  26.         } else {
  27.             // 收藏失败
  28.             $success = '0';
  29.             $error_code = '收藏失败';
  30.         }
  31.     }
  32.     // 返回json数据,或者字符串,数字。
  33.     $json = array('success' = >$success, 'error_code' = >$error_code, 'datalist' = >$datalist);
  34.     echo json_encode($json);
  35. //break;可以没有,根据情况调整
  36.     break;
复制代码


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

error_code表示提示信息。

datalist可以返回结果集。

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

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

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

前后就同一了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

纳速健身网成立于2006年8月,是国内优秀健身运动网站,现拥浏览人数超30万。网站是集养生、武术、太极拳和健身气功等多种健身项目于一体的多功能交流平台。平台提供大量优质的教学视频、伴奏音乐(太极拳晨练音乐,广场舞音乐,健身气功音乐)、图文教程、运动科普和经验分享,为健身爱好者提供完善的运动指导平台。
  • 纳速QQ群乙:151815303
  • 纳速QQ群丙:79104490
  • 微信交流群:微信好友搜索【nasuwang】加小纳微信进群交流健身知识,备注【纳速】
  •                     或者扫描页面底部右侧二维码添加小纳微信>>>
  • 微信公众号

  • 微信群客服交流

  • Copyright © 2006-2021, 纳速健身网. | | 辽ICP备13002388号-1 辽公安网备21050202000005号公安网备号 纳速武术-乙 QQ