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

Laravel 5.8 Form::model表单POST请求转为GET无法匹配路由问题

Laravel 5.8 Form::model() 表单提交异常排查

故障现象

Laravel 5.8项目中所有常规表单运行正常,仅通过Form::model()生成的编辑表单提交异常:已明确定义表单提交方式为POST,实际请求以GET方式发送,无法匹配后端定义的POST路由。

故障代码

{!! Form::model($nota, [
'method' => 'POST',
'url' => ['/admin/notas', $nota->id],
'class' => 'form-horizontal',
'files' => true]) !!}

@include('admin.notas.form', ['formMode' => 'edit'])

{!! Form::close() !!}

验证测试

手动复制Form::model()生成的原生HTML代码直接使用,表单提交功能恢复正常,测试用代码如下:

<form method="POST" action="https://mydomain/admin/notas/{{$nota->id}}" accept-charset="UTF-8" class="form-horizontal" enctype="multipart/form-data">
@csrf

@include('admin.notas.form', ['formMode' => 'edit'])
</form>

相关说明

  • 该表单此前编辑功能正常,本地WAMP环境运行无异常
  • 已确认模型、控制器、路由配置均无问题,故障仅出现在提交环节,请求被强制转为GET
  • 故障发生时Laravel无任何错误抛出,同站点其余表单不受影响
  • 故障后续自动消失,未手动修改代码逻辑,暂未定位到明确根因,疑似服务器侧配置异常

可选排查方向

如果后续复现该问题可按以下顺序排查:

  1. 检查故障时生成的页面源码中Form::model()输出的form标签是否正确包含method="POST"属性,是否被前端JS意外修改
  2. 检查服务器重定向规则,是否存在POST请求被301/302重定向转为GET的情况(比如http强制跳https、路径末尾斜杠补全规则)
  3. 确认Laravel Collective HTML包版本是否存在已知BUG,可尝试升级/降级对应包版本验证
  4. 检查服务器WAF/CDN规则,是否存在特定路径请求被拦截重写的情况

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 06:09:03