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

持续触发422 Unprocessable Entity错误,设置Content-Type仍未解决

422 Unprocessable Entity 错误排查方案
  • 检查字段名大小写:代码里写的是Image(首字母大写),但后端接口大概率期望小写的image——后端字段一般用小写驼峰或蛇形命名,大小写不匹配会让服务器识别不了字段,直接返回422。把Image改成image试试。

  • 注意文件字段的序列化问题:如果image是上传的文件,data.get("image")拿到的是File对象,JSON.stringify会把它转成"[object File]",这根本不是有效的JSON,服务器肯定解析失败。如果后端要接收文件,别转JSON,直接用FormData发请求;如果只需要图片URL,确保前端传的是字符串格式的URL,不是File对象。

  • 校验空值字段:看看eventData里有没有null或undefined的字段——用户没填必填项时,data.get()会返回null,后端可能要求这些字段必须是非空值。发送前可以加个简单过滤:

    const eventData = {
      title: data.get("title") || "",
      image: data.get("image") || "",
      date: data.get("date") || "",
      description: data.get("description") || "",
    };
    
  • 获取服务器详细错误信息:别只打印response对象,调用await response.json()或await response.text()看看服务器返回的具体错误,比如哪个字段不符合规则,这能直接定位问题:

    const response = await fetch("http://localhost:8080/events", { /* ... */ });
    if (!response.ok) {
      const errorDetails = await response.json(); // 若返回的是文本就用text()
      console.error("服务器错误详情:", errorDetails);
      throw json({ message: "Could not save event", details: errorDetails }, { status: 500 });
    }
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 02:35:21