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

MERN项目Axios PUT请求更新数据出现404错误求助

问题排查与解决

核心原因:路由路径存在多余空格

后端PUT路由的路径定义里,/places后面多了一个空格:

app.put('/places ', async(req,res)=>{ // 注意路径末尾的空格

前端请求的是/places,和后端带空格的路径无法匹配,因此返回404错误。

修复步骤

  1. 修正后端路由路径
    删除路径末尾的空格,修改为:

    app.put('/places', async(req,res)=>{
    
  2. 额外优化建议

    • 后端添加统一404处理,方便后续排查路由问题:
      app.use((req, res) => {
        res.status(404).json({ message: '请求路径不存在' });
      });
      
    • 前端添加请求错误捕获,避免错误时直接跳转:
      try {
        await axios.put('/places',{id, ...placeData})
        setRedirect(true)
      } catch (err) {
        console.error('更新失败:', err.response?.data || err.message);
        // 可在此处添加用户提示,比如弹出错误信息
      }
      
    • 后端补充placeDoc不存在的判断,避免后续代码报错:
      const placeDoc = await Place.findById(id);
      if (!placeDoc) {
        return res.status(404).json({ message: '目标地点不存在' });
      }
      

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 15:42:07