返回列表 发帖
查看: 2878|回复: 5

[已解决] 第一次写接口,不知道为什么一直请求不到,不知道是不是路径写错还是其他原因。

21

主题

44

回帖

67

积分

渐入佳境

贡献
0 点
金币
0 个
发表于 2023-5-19 18:01:19 | 查看全部 |阅读模式
以下是js:

  1. jq('.event-detail').click(function (){
  2.                 var field = jq(this).attr("lay-field");
  3.                 var data = { value: field };
  4.                 jq.ajax({
  5.                         type: "post",
  6.                         url: "plugin.php?id=my_activity:activity_api&mod=getOneInfo",
  7.                         data: data,
  8.                         dataType: "json",
  9.                         success: function (json) { // 处理成功响应
  10.                             console.log(json)
  11.                             if(json['status'] == 'success') {
  12.                                 console.log(json);
  13.                             } else {
  14.                                 console.log(json);
  15.                             }
  16.                         },
  17.                         error: function () { // 处理错误响应
  18.                             alert('请求失败,请检查网络连接');
  19.                         }
  20.                     });
复制代码
以下是接口文件:
  1. <?php

  2. if(!defined('IN_DISCUZ')) {
  3.     exit('Access Denied');
  4. }


  5. class activity_api
  6. {
  7.     private $uid;
  8.     public function __construct() {
  9.         global $_G;
  10.         $this->uid = intval($_GET['uid']);
  11.     }

  12.     public function getOneInfo(){
  13.         $info = DB::fetch_first("SELECT * FROM `my_rz_activity` WHERE `uid` = '$this->uid'");
  14.         if ($info) {
  15.             // 查询成功,返回 JSON 格式的响应
  16.             header('Content-Type: application/json');
  17.             echo json_encode(array('status' => 'success', 'data' => $info));
  18.         } else {
  19.             // 查询失败,返回错误信息
  20.             header('Content-Type: application/json');
  21.             echo json_encode(array('status' => 'error', 'message' => 'Failed to fetch data.'));
  22.         }
  23.     }
  24. }

复制代码
截图202305191759558938.jpg


不管我怎么请求,都是如下提示:
截图202305191800491050.jpg

网络那里显示状态码是200,但是打印出来的json一直是null

1 贡献

最佳答案

14088222 发表于 2023-5-19 18:50
请问如何实例化呢?

$obj=new activity_api();
$obj->getOneInfo();

不过你这个,其实无需封装一个class,.inc.php文件中直加写过程就行了
回复

使用道具 举报

19

主题

286

回帖

827

积分

应用开发者

贡献
22 点
金币
321 个
发表于 2023-5-19 18:48:55 | 查看全部
class activity_api 没有实例化,等于你这个类写了也没用呢
回复

使用道具 举报

21

主题

44

回帖

67

积分

渐入佳境

贡献
0 点
金币
0 个
 楼主| 发表于 2023-5-19 18:50:56 | 查看全部
人工智能实验室 发表于 2023-5-19 18:48
class activity_api 没有实例化,等于你这个类写了也没用呢

请问如何实例化呢?
回复

使用道具 举报

19

主题

286

回帖

827

积分

应用开发者

贡献
22 点
金币
321 个
发表于 2023-5-19 19:02:05 | 查看全部
14088222 发表于 2023-5-19 18:50
请问如何实例化呢?

$obj=new activity_api();
$obj->getOneInfo();

不过你这个,其实无需封装一个class,.inc.php文件中直加写过程就行了
回复

使用道具 举报

21

主题

44

回帖

67

积分

渐入佳境

贡献
0 点
金币
0 个
 楼主| 发表于 2023-5-19 20:04:31 | 查看全部
人工智能实验室 发表于 2023-5-19 19:02
$obj=new activity_api();
$obj->getOneInfo();

请问一下您说的.inc.php文件中直加写过程就行了 那么也是可以通过ajax请求对接口进行请求吗?
回复

使用道具 举报

19

主题

286

回帖

827

积分

应用开发者

贡献
22 点
金币
321 个
发表于 2023-5-19 21:16:07 | 查看全部
14088222 发表于 2023-5-19 20:04
请问一下您说的.inc.php文件中直加写过程就行了 那么也是可以通过ajax请求对接口进行请求吗?
...

对的,怎么灵活怎么来
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 关注公众号
  • 有偿服务微信
  • 有偿服务QQ

手机版|小黑屋|Discuz! 官方交流社区 ( 皖ICP备16010102号 |皖公网安备34010302002376号 )|网站地图|star

GMT+8, 2025-12-19 01:45 , Processed in 0.058277 second(s), 16 queries , Redis On.

Powered by Discuz! X5.0 Licensed

© 2001-2025 Discuz! Team.

关灯 在本版发帖
有偿服务QQ
有偿服务微信
返回顶部
快速回复 返回顶部 返回列表