You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

jQuery $.get成功回调函数失效问题求助

问题排查与解决

你的本地API请求(/../../_public/api/news.php)在Network面板显示返回数据,但代码中无法获取结果,核心原因大概率是响应解析失败或缺少错误处理,以下是具体排查步骤:

1. 添加错误处理,定位问题

你的代码只处理了请求成功的情况,未捕获解析失败或其他异常。修改代码加入错误回调,直接查看出错信息:

const url='/../../_public/api/news.php';

let getHandle = () => {
  return new Promise(function (resolve, reject){
    $.get(url, {endpoint: 'titles', param: 'titles'})
      .done((response) => {
        console.log('响应数据:', response);
        resolve(response);
      })
      .fail((jqXHR, textStatus, errorThrown) => {
        console.error('请求错误类型:', textStatus);
        console.error('错误详情:', errorThrown);
        console.error('原始响应内容:', jqXHR.responseText); // 打印返回的原始文本
        reject(errorThrown);
      })
  })    
}

getHandle().then((res) => {
  console.log(res);
}).catch(err => {
  console.error('Promise捕获的错误:', err);
})

运行后查看控制台,重点关注原始响应内容是否与Network面板一致,以及错误类型(比如parsererror说明JSON解析失败)。

2. 检查API响应的Content-Type和数据格式

  • 设置正确的Content-Type头:确保PHP接口返回时指定MIME类型,在news.php开头添加:
    header('Content-Type: application/json');
    
    若未设置,jQuery可能无法正确识别响应格式,导致解析失败。
  • 验证JSON合法性:将Network面板中API返回的内容复制到本地JSON校验工具(无需外链),检查是否存在语法错误(比如逗号结尾、引号不匹配等)。

3. 强制获取原始文本,确认数据内容

若怀疑是解析问题,改用$.ajax并设置dataType: 'text',直接获取原始响应文本,跳过jQuery的自动解析:

let getHandle = () => {
  return new Promise(function (resolve, reject){
    $.ajax({
      url: url,
      data: {endpoint: 'titles', param: 'titles'},
      dataType: 'text', // 强制返回文本
      success: (response) => {
        console.log('原始响应文本:', response);
        // 手动尝试解析JSON
        try {
          let data = JSON.parse(response);
          console.log('解析后的JSON:', data);
          resolve(data);
        } catch (e) {
          console.error('手动解析JSON失败:', e);
          reject(e);
        }
      },
      error: (jqXHR, textStatus, errorThrown) => {
        console.error('请求出错:', textStatus, errorThrown);
        reject(errorThrown);
      }
    })
  })    
}

通过这一步可以明确是响应内容本身存在问题,还是jQuery的自动解析逻辑导致无法获取数据。

内容的提问来源于stack exchange,提问作者TheTrueJACKSONIAN

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 04:01:07