
当使用 fetch 发起 put/delete 等非标准表单请求时,express 中间件返回的 ejs 渲染 html 页面不会自动显示在浏览器中——需在前端显式解析并注入响应体,而非依赖浏览器默认导航行为。
当使用 fetch 发起 put/delete 等非标准表单请求时,express 中间件返回的 ejs 渲染 html 页面不会自动显示在浏览器中——需在前端显式解析并注入响应体,而非依赖浏览器默认导航行为。
在现代 Web 开发中,通过 JavaScript 的 fetch() 替代原生表单提交(以支持 PUT/DELETE 方法)已成为常见实践。但一个容易被忽视的关键点是:fetch 是纯 API 交互机制,它不会触发浏览器的页面跳转或 HTML 渲染流程——即使后端 res.render() 成功返回了完整的 HTML 字符串,若前端未主动处理该响应内容,用户界面将保持静止,仅网络面板中可见响应体。
问题本质:Fetch 不会自动渲染 HTML 响应
你遇到的现象——DevTools 的 Network 标签页中能清晰看到完整的 HTML 响应(含 ...)、状态码为 400 或 500,但页面无任何变化——正是 fetch 的预期行为。它把响应当作“数据”而非“导航指令”,与









