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

ReactJS AJAX调用提交表单数据PHP端未接收返回失败如何解决

问题原因
  • 你当前使用的fetch默认发起GET请求,没有携带任何表单数据
  • 没有指定请求头Content-Type: application/json,也没有将表单序列化为JSON提交到服务端,导致PHP读取php://input为空,解析后返回false,触发失败逻辑
修复方法

只需要修改React代码中的handleFormSubmit方法即可,修改后的代码如下:

handleFormSubmit(event){
  event.preventDefault();
  // 构造提交的表单数据
  const postData = {
    Name: this.state.Name,
    Class: this.state.Class
  };
  fetch(API_PATH, {
    method: 'POST', // 指定POST请求
    headers: {
      'Content-Type': 'application/json' // 声明提交的是JSON格式
    },
    body: JSON.stringify(postData) // 把表单数据序列化为JSON
  })
  .then(response => response.json()) // 先解析响应为JSON格式
  .then(data => console.log(data)) // 打印返回结果,此时就能拿到{"status":"Success"}
  .catch(err => console.error('请求出错:', err));
}
可选优化

如果需要防止空表单提交,可以在提交前增加数据校验逻辑:

if(!postData.Name.trim() || !postData.Class.trim()){
  alert('姓名和班级不能为空');
  return;
}

修复后提交表单即可得到成功响应。

内容的提问来源于stack exchange,提问作者Mr. CLOWN

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 05:39:00