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

Node.js Express应用删除博客后重定向失效问题求助

Node.js Express 删除博客后重定向失败问题

问题现象

删除博客文章成功后,无法重定向到/blogs页面,停留在已删除的/blogs/:id页面,触发报错。

后端代码

app.delete('/blogs/:id',(req,res)=>{
    const id = req.params.id;
    Blog.findByIdAndDelete(id)
    .then((result)=>{
        res.json({ redirect: '/blogs'})
    })
    .catch((error)=>{
        console.log(error)
    })
})

客户端代码

<script>
    const trashcan = document.querySelector('a.delete');
    trashcan.addEventListener('click',(event)=>{
        const endPoint = `/blogs/${trashcan.dataset.doc}`;

        fetch(endPoint,{
            method: 'DELETE'
        })
        .then((response)=>{response.json()})
        .then((data)=> console.log(data))
        .catch((error)=>{
            console.log(error);
        })
    })
</script>

问题原因

  1. 点击<a>标签时未阻止默认跳转行为,导致页面仍会跳转到已删除的/blogs/:id页面
  2. 客户端仅打印了后端返回的重定向数据,未执行实际的页面跳转操作

解决步骤

修改客户端代码,补充阻止默认行为和执行重定向的逻辑:

<script>
    const trashcan = document.querySelector('a.delete');
    trashcan.addEventListener('click',(event)=>{
        // 阻止a标签默认跳转行为
        event.preventDefault();
        const endPoint = `/blogs/${trashcan.dataset.doc}`;

        fetch(endPoint,{
            method: 'DELETE'
        })
        .then((response)=> response.json())
        .then((data)=> {
            // 根据后端返回路径执行重定向
            window.location.href = data.redirect;
        })
        .catch((error)=>{
            console.log(error);
        })
    })
</script>

MERN进阶学习建议

  • 核心技术深度强化:
    • 深挖Express中间件机制,自定义权限校验、全局错误捕获、日志记录中间件
    • 掌握MongoDB聚合管道、索引优化,熟练使用Mongoose的事务处理、Schema关联设计
    • 精通React Hooks(useContext、useReducer、自定义Hooks),对比Redux Toolkit、Zustand等状态管理方案的适用场景
  • 全链路流程搭建:
    • 实现JWT认证+角色权限控制的完整流程,包括前端请求拦截、后端校验逻辑
    • 学习RESTful API规范,尝试GraphQL方案,理解两种接口设计的优劣
    • 掌握前后端联调技巧,用Chrome DevTools、Postman分析请求响应、排查问题
  • 工程化与性能优化:
    • 学习前端打包优化(Vite/Webpack)、代码分割、懒加载,提升页面加载速度
    • 了解后端性能优化:Redis缓存、数据库读写分离、接口限流策略
    • 尝试将MERN应用部署到云服务,配置Nginx反向代理、SSL证书
  • 实战项目驱动:
    • 从零搭建完整MERN项目(如电商后台、社交平台),覆盖CRUD、文件上传、权限控制等核心功能
    • 参与开源项目或模拟企业需求,熟悉Git Flow协作规范、代码评审流程

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 15:52:21