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

如何在React中使用Axios向API发送POST JSON请求并存储响应

问题核心原因

你的代码存在4个问题导致无法达到预期效果:

  • 异步逻辑顺序错误:axios.post为异步请求,你写在.then外部的localStorage.getItem执行时,请求还未完成,只能读到旧数据甚至null
  • 请求体为空:axios.post的第二个参数是要提交的JSON请求体,你当前传的是空对象,没有携带服务端要求的必填字段,接口会直接返回参数校验失败
  • 缺少错误捕获:没有添加.catch逻辑,接口报错、跨域、请求超时等问题都不会有提示,难以定位故障
  • 地址格式错误:请求URL开头有多余空格,会导致地址解析异常

修正后完整代码

handleSubmit(event) {
  event.preventDefault();
  // 替换成你实际要提交的必填字段和对应值
  const postData = {
    字段1: 对应值1,
    字段2: 对应值2
  };
  // 删掉了URL开头的多余空格
  axios.post('http://ec2-13-213-17-111.ap-southeast-1.compute.amazonaws.com:8888/home', postData)
  .then((res) => {
    // 响应返回后先写入本地存储
    localStorage.setItem("apiData1", JSON.stringify(res.data));
    // 写入完成后再读取打印,保证拿到的是最新数据
    const data = JSON.parse(localStorage.getItem("apiData1"));
    console.log(data);
  })
  .catch((err) => {
    // 打印请求错误信息,方便排查问题
    console.error('请求失败:', err);
  })
}

补充说明

  • 你需要先确认服务端要求的必填字段名、字段类型,替换代码里postData的内容,确保和接口要求一致
  • 如果存在跨域问题,需要联系服务端同事配置CORS跨域规则,或者本地开发时配置代理转发

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 17:45:03