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

POST请求执行成功无报错,后续代码无法执行的问题求助

问题分析与解决

你的问题核心出在后端的POST接口没有向客户端返回响应,导致前端的axios请求一直处于挂起(pending)状态,await会一直等待请求完成,自然不会执行后面的console.log("here")。

后端代码修复

后端的/post接口里,不管是保存成功还是失败,都需要给前端返回一个响应,不然axios会一直等下去。修改后的代码如下:

app.post("/post", async (req, res) => {
  console.log(req.body);

  try {
    const createPost = await PostModel({
      content: req.body.content,
    });
    // 等待保存操作完成,之前的代码未等待保存就结束了
    await createPost.save();
    // 保存成功后返回响应
    res.status(201).json({ message: "Post created successfully", post: createPost });
  } catch (error) {
    console.log("error: ", error.message);
    // 错误时也要返回响应
    res.status(500).json({ error: error.message });
  }
});

重点注意:

  • 必须通过res.send()/res.json()等方法返回状态码和数据,让axios确认请求已完成
  • createPost.save()需要加await,确保数据库操作完成后再返回响应

前端代码优化(可选但更规范)

按钮的onClick里调用异步函数时,建议加上await,避免潜在的未处理异常:

onClick={async (e) => {
  await createPost();
  // 这里可以正常调用getPosts()更新列表
}}

修改完成后,前端的axios请求会在后端返回响应后结束,await之后的console.log("here")就能正常执行了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 04:22:15