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

使用Axios时遇TypeError: res.send不是函数,如何返回API数据给React?

问题原因及解决方案

错误原因

核心问题是Axios回调函数的参数名和Express的响应对象res重名了。

你在/dailyscores端点的外层是Express的请求处理函数,参数是(req, res),这里的res是Express用来给客户端发送响应的对象。但在Axios的.then(res => { ... })回调里,你又用res作为参数,此时这个res是Axios请求返回的自身响应对象,直接覆盖了外层的Express res。回调里的res根本不是Express的响应对象,自然没有send方法,所以触发报错。

可行解决方案

方案1:重命名Axios回调的参数

把Axios回调里的参数改成其他名称,比如axiosRes,避免和外层的res冲突:

app.get('/dailyscores', (req, res) => {
  axios.get('你要请求的第三方API地址')
    .then(axiosRes => {
      // 用axiosRes获取第三方API返回的数据
      res.send(axiosRes.data);
    })
    .catch(err => {
      res.status(500).send('获取数据失败');
    });
});

方案2:改用async/await语法

彻底避免回调嵌套和参数冲突问题,代码逻辑更清晰:

app.get('/dailyscores', async (req, res) => {
  try {
    const axiosRes = await axios.get('你要请求的第三方API地址');
    res.send(axiosRes.data);
  } catch (error) {
    res.status(500).send('请求第三方API出错');
  }
});

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 05:45:56