报表笔记:为什么模态框取消时还405? 问题模态框“取消”按钮点击后触发表单提交导致 405咏方舟-长流支流 2026-07-18正常情况下在表格中选择一条记录编辑弹出模拟的模态对话框加载数据如图但是当点取消按钮时发现出现了405说明网页触发了一个请求可按F12去看。在移植报表的时候又碰到这个问题因为我封装了以后其实是前端、后端再也一行代码也不用写的结果又一不小心踩坑了。现象点击模态框中的“取消”按钮页面出现 405 错误或页面刷新/跳转。原因HTML 规范中button元素如果没有指定type属性默认是typesubmit。当按钮位于form标签内部时点击会触发表单提交导致页面刷新或 405。解决方案给所有“取消”类按钮显式添加typebuttonbuttontypebuttononclickcloseModal()取消/buttontypebutton表示这是一个普通按钮不会触发表单提交。涉及范围模态框的“取消”按钮模态框的“关闭”按钮任何在form内部但不想触发表单提交的按钮经验总结表单内的按钮如果意图不是“提交”一定要加typebutton。这个坑在模态框里尤其常见因为模态框经常放在表单内部而取消/关闭按钮的初衷只是关闭弹窗不该提交数据。不加type属性就会触发提交导致页面刷新或 405。submit它触发了一个标准的 POST 请求。具体机制如下请求方向浏览器默认将表单数据提交到当前页面的 URL即https://localhost:7222/NormViewGrid?controllerproducts。请求内容这是一个Content-Type: application/x-www-form-urlencoded的 POST 请求会携带表单中所有输入框的值。为什么是 405NormViewGrid控制器设计为渲染页面视图只配置了[HttpGet]用于打开页面服务器没有配置响应 POST 请求的处理方法。当收到 POST 请求时服务器返回“方法不允许”的错误。所以它既不是“不存在的路由”404也不是“跨域问题”CORS而是一个路由存在但方法不匹配的典型场景。通过添加typebutton按钮不再承担“提交”角色从而规避了浏览器自动发起的这个 POST 请求。

相关新闻

最新新闻

SerenityOS 命令行选项解析指南:getopt 与 getopt_long 用法、返回值与底层实现

SerenityOS 命令行选项解析指南:getopt 与 getopt_long 用法、返回值与底层实现

SerenityOS 命令行选项解析指南:getopt 与 getopt_long 用法、返回值与底层实现 【免费下载链接】serenity The Serenity Operating System 🐞 项目地址: https://gitcode.com/GitHub_Trending/se/serenity 导读 本文以 getopt(3) 手册 为核心&a…

2026/9/26 23:24:47
轻量服务器还是ECS?大促云服务器选购与避坑实战指南

轻量服务器还是ECS?大促云服务器选购与避坑实战指南

每年大促节点,群里永远有人在问同一个问题:“38元的轻量服务器到底怎么抢?为什么我每次点进去都是已售罄?68元直购和99元的ECS我到底选哪个?”作为一个常年帮团队和自己采购云服务器的老用户,我太清楚这种纠…

2026/9/26 18:48:15
为 AI 代理的 Review 动作编写 Cedar 审批门控策略:review-agent-governance 策略编写实战指南

为 AI 代理的 Review 动作编写 Cedar 审批门控策略:review-agent-governance 策略编写实战指南

为 AI 代理的 Review 动作编写 Cedar 审批门控策略:review-agent-governance 策略编写实战指南 【免费下载链接】agents Multi-harness agentic plugin marketplace for Claude Code, Codex, Cursor, OpenCode, GitHub Copilot, and Google Antigravity 项目地址:…

2026/9/26 3:42:08
PaddleOCR 手写数学公式识别算法 CAN 实战指南:Counting-Aware Network 训练、评估与推理部署

PaddleOCR 手写数学公式识别算法 CAN 实战指南:Counting-Aware Network 训练、评估与推理部署

PaddleOCR 手写数学公式识别算法 CAN 实战指南:Counting-Aware Network 训练、评估与推理部署 【免费下载链接】PaddleOCR Turn any PDF or image document into structured data for your AI. A powerful, lightweight OCR toolkit that bridges the gap between i…

2026/9/26 11:37:29
Spring源码解析:构造器注入的类型转换与候选匹配机制

Spring源码解析:构造器注入的类型转换与候选匹配机制

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/26 4:08:27
openai-agents-python 多模型接入指南:深入解析 AnyLLMModel 适配层与 any-llm 路由

openai-agents-python 多模型接入指南:深入解析 AnyLLMModel 适配层与 any-llm 路由

openai-agents-python 多模型接入指南:深入解析 AnyLLMModel 适配层与 any-llm 路由 【免费下载链接】openai-agents-python A lightweight, powerful framework for multi-agent workflows 项目地址: https://gitcode.com/GitHub_Trending/op/openai-agents-pyth…

2026/9/26 21:11:24

日新闻

周新闻