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

NextJS API路由无法接收表单提交数据问题排查

问题原因与解决方案

我来帮你快速定位并解决这两个问题:

1. API路由参数顺序完全搞反了!

Next.js 的 API 路由处理函数,参数顺序是**(req, res)**(请求对象在前,响应对象在后),但你写的是:

export default async function handler(res, req) { ... }

这就导致你代码里的 req 其实是响应对象(res),而真正的请求对象被你错误命名成了 res,自然拿不到 req.body,打印出来就是 undefined。

2. API路由没有返回响应

Next.js 要求所有API路由必须给客户端发送响应,否则请求会一直处于挂起状态,就会出现你看到的「API resolved without sending a response」警告。你当前的代码里只有console.log,没有任何返回响应的逻辑。


修正后的 /api/checkout.js 代码

export default async function handler(req, res) {
  try {
    // 现在能正常拿到请求体了
    console.log(req.body);
    // 给客户端返回成功响应
    res.status(200).json({ message: "数据接收成功", data: req.body });
  } catch (error) {
    // 捕获错误并返回错误响应
    res.status(500).json({ message: "服务器错误", error: error.message });
  }
}

另外再确认下:你前端的请求逻辑是没问题的——已经设置了正确的Content-Type: application/json,并且用JSON.stringify()序列化了请求体,这部分不需要修改。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.27 17:22:45