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

Netlify Functions使用axios带headers请求返回undefined如何解决?

问题根源

axios.get() 是异步方法,返回值为Promise对象,你在async函数中未添加await关键字等待请求执行完成,直接对Promise对象进行解构,无法拿到接口返回的响应数据,因此data为undefined。该问题与是否配置请求headers无关,此前无headers接口调用正常属于测试场景疏漏。

修正后的完整代码
const axios = require("axios");

exports.handler = async function (event, context) {
  const { id } = event.queryStringParameters;
  const url = `https://youtube-mp36.p.rapidapi.com/dl?id=${id}`
  try {
    // 新增await关键字等待异步请求完成
    const {data} = await axios.get(url, {
      headers: {
        "x-rapidapi-host": "youtube-mp36.p.rapidapi.com",
        "x-rapidapi-key": `${process.env.REACT_APP_RAPID_KEY}`
      }
    });
    console.log(data)
    return {
      statusCode: 200,
      body: JSON.stringify(data),
    };
  } catch (err) {
    // 新增响应存在性判断,避免无响应场景下抛出新异常
    if (err.response) {
      const {statusCode, statusText, headers, data} = err.response;
      return {
        statusCode: 500,
        body: JSON.stringify({ statusCode, statusText, headers, data }),
      };
    }
    return {
      statusCode: 500,
      body: JSON.stringify({msg: '请求发起失败', error: err.message})
    }
  }
};
额外注意事项
  • 确认Netlify后台已正确配置环境变量REACT_APP_RAPID_KEY,变量名和取值均无拼写错误
  • 若后续出现权限类报错,可直接打印完整headers校验环境变量是否正常注入

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 16:54:03