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

Axios发送POST请求后同时触发then和catch回调的问题如何解决

问题根因
  • 核心错误是你没有给.then()、.catch()传入回调函数,而是直接执行了alert方法:
    JS代码执行到Axios.post链式调用的部分时,会同步计算.then()和.catch()括号里的表达式,也就是立刻执行alert('Success')和alert('Failure')弹出两个提示,再把alert的返回值undefined注册为异步回调。所以不管后续请求成功还是失败,两个弹窗都会提前触发,和请求的最终结果完全无关。
修复方案

把alert语句包裹在箭头函数中,作为异步回调传给.then()和.catch()即可,只有请求对应状态触发时才会执行对应的alert逻辑。
修复后的代码如下:

const submitForm = () => {
  Axios.post('http://localhost:3001/api/insert',{
    manager: manager,
    decisionDate: decisionDate.toLocaleDateString(),
  }).then(() => {
    alert('Success')
  }).catch(() => {
    alert('Failure')
  })
}

内容的提问来源于stack exchange,提问作者José Freitas

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 23:39:06