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

Remix Run + React框架:表单提交内容为空问题求助

Remix表单提交FormData显示为空的解决方法
  • 核心问题:直接console.log(body)看不到FormData内容,是因为FormData属于异步可迭代对象,无法通过直接打印输出完整内容,必须先做解析处理。

  • 正确的服务器端处理方式:
    在Remix的action函数中,需要先通过await request.formData()解析请求体,再获取对应数据:

    export async function action({ request }) {
      // 解析表单数据
      const formData = await request.formData();
      // 获取单个字段值
      const name = formData.get("name");
      console.log(name); // 会输出'test'
    
      // 或者转换为普通对象方便查看完整内容
      const formObj = Object.fromEntries(formData);
      console.log(formObj); // 会输出{ name: 'test' }
    }
    
  • 原因说明:
    浏览器开发者工具里看到的Form Data是已序列化的请求内容,但服务器端的request.body是可读流,FormData对象本身不会在console.log时自动展开实际内容,必须通过异步方法读取解析后,才能拿到真实的表单字段值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 08:06:04