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

Netlify Functions请求404错误求助(React项目)

Netlify Functions 404错误解决方法
  • 移除请求URL的.js后缀
    Netlify Functions的调用路径不需要包含函数文件的后缀,你当前请求的路径带了.js,这是错误的。修改后的代码:
await fetch('./.netlify/functions/create-payment-intent', {
    method: 'post',
    headers: {
        'Content-Type': 'application/json',
    },
    body: JSON.stringify({ message: "test"}),
}).then((res) => {
    return res.json();
});
  • 检查函数文件的存放路径
    确保函数文件放在项目根目录的netlify/functions文件夹下(.netlify是构建自动生成的目录,不要手动往里面放文件)。正确的目录结构如下:
项目根目录
├── netlify
│   └── functions
│       └── create-payment-intent.js
├── src
│   └── ...(React源码文件)
└── package.json
  • 使用正确的本地开发命令
    必须通过netlify dev命令启动本地服务,这个命令会同时启动React开发服务器和Netlify Functions服务,确保函数能被正常访问。不要单独用npm start启动React项目,这样Netlify Functions不会被加载。

  • 验证函数文件的导出格式
    Netlify Functions要求通过exports.handler导出处理函数,确保你的create-payment-intent.js符合格式要求,示例代码:

exports.handler = async (event, context) => {
    try {
        const requestBody = JSON.parse(event.body);
        return {
            statusCode: 200,
            body: JSON.stringify({ response: `收到消息:${requestBody.message}` })
        };
    } catch (err) {
        return {
            statusCode: 500,
            body: JSON.stringify({ error: err.message })
        };
    }
};
  • 清理缓存并重启服务
    如果以上步骤都没问题还是报错,尝试清理缓存:
  1. 停止当前运行的netlify dev服务
  2. 删除项目根目录下的.netlify文件夹
  3. 重新执行netlify dev启动服务

内容的提问来源于stack exchange,提问作者Alb Rick Bi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 19:02:13