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

Laravel表单提交报search.get_kcli路由未定义错误如何解决

问题根源

你遇到的报错核心原因是路由命名与调用不匹配,附带一处冗余代码问题:

  • 表单中使用route('search.get_kcli')生成提交地址,但web.php中给该POST路由定义的名称为search,框架无法找到对应命名路由,直接抛出Route [search.get_kcli] not defined错误,请求根本没到达控制器,自然拿不到提交数据。
  • 表单已经通过method="POST"声明了POST请求,额外加的@method('POST')属于冗余代码——@method指令仅用于声明HTML表单原生不支持的PUT、DELETE、PATCH等请求类型,POST场景下不需要添加。
修复步骤

选择以下任意一种方案修正路由匹配问题即可:

方案1:调整路由命名(和表单调用保持一致)

修改routes/web.php中的路由定义,将路由名改为search.get_kcli:

Route::post('/search', [App\Http\Controllers\SearchController::class, 'get_kcli'])->name('search.get_kcli');

方案2:调整表单路由调用(和现有路由名保持一致)

修改resources/views/partials/search.blade.php中表单的action属性,匹配现有路由名:

<form method="POST" class="form-inline position-relative"
     action="{{ route('search') }}">

后续优化&验证操作:

  • 删除表单中冗余的@method('POST')代码,不影响功能但符合开发规范。
  • 执行路由缓存清理命令,避免旧缓存导致路由不生效:
php artisan route:clear
  • 重新访问页面提交表单,控制器中$request->input('kcli')即可正常获取输入框提交的门店ID,你写的dd($kcli)会直接打印出提交的数值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 14:30:43