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

如何解决“Failed to load response data”问题并获取API响应数据

解决"Failed to load response data: No data found for resource with given identifier"问题

核心问题分析

从代码和报错来看,导致拿不到响应数据的关键问题有这些:

  1. resendInvitation函数没有返回API响应结果,上层调用自然拿不到数据
  2. 异步代码混用await和.then/.catch,逻辑冗余且容易隐藏问题
  3. 额外可能性:后端API返回204 No Content状态码(无响应体),或请求路径错误导致资源不存在

分步解决方案

1. 修复API调用函数,确保返回响应

修改resendInvitation函数,添加返回语句,同时修正路径的模板字符串写法(你代码里的引号格式有问题):

export const resendInvitation = async (userName) => {
  const response = await API.post(
    'delta-api',
    `user-mgmt/users/${userName}/resendInvitation`,
    {}
  );
  return response; // 必须返回响应,上层才能拿到数据
};

2. 简化异步处理逻辑,避免混用await和then/catch

改用try/catch统一处理异步逻辑,同时增加错误边界处理(避免e.response不存在时崩溃):

const handleResendInvitation = async () => {
  try {
    const response = await resendInvitation(userName);
    // 先在控制台打印,确认是否拿到数据
    console.log('API响应:', response);
    setOpen(false);
  } catch (e) {
    setOpenNotification(true);
    // 用可选链避免无响应时的报错
    setNotificationMessage(e.response?.data?.message || '发送邀请失败,请检查网络或重试');
  }
};

3. 排查后端API和请求有效性

  • 查看浏览器网络面板的请求详情:
    • 如果是204 No Content:说明后端确实没有返回数据,属于正常情况,只需处理请求成功逻辑即可
    • 如果是404/400:核对userName是否正确传递,路径拼接是否和后端要求一致
  • 用Postman等工具直接调用该API,确认后端是否能返回预期数据,排除后端问题

额外提示

  • 调试时优先看浏览器网络面板的请求详情,比前端代码日志更直接
  • 避免在异步函数中同时使用await和.then/.catch,逻辑混乱且容易遗漏错误

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 15:30:51