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

Laravel表单提交后无法重定向到指定route页面该如何解决?

排查解决步骤

1. 先修复路由参数不匹配问题

你当前定义的cotizacion-enviada路由没有设置接收参数,但是跳转时传入了$id参数,虽然默认会作为查询参数拼接,但可能引发预期外的行为,可以二选一修改验证:

  • 方案一:给路由新增参数接收
Route::get('cotizacion-enviada/{id}', function ($id) {
     return view('quotationshippingvalid', compact('id'));
})->name('cotizacion-enviada');
  • 方案二:跳转时移除多余参数
return redirect()->route('cotizacion-enviada');

2. 排查表单是否为AJAX提交

如果你的表单是通过AJAX(axios、jQuery ajax等)方式提交,后端返回的302重定向无法触发浏览器页面跳转,需要在前端提交成功的回调中手动控制跳转:
示例(jQuery提交场景):

$.post('你的表单提交接口地址', formData, function () {
  // 提交成功后手动跳转
  window.location.href = '/cotizacion-enviada';
})

你可以打开浏览器开发者工具的「网络」面板,提交表单后查看请求头的X-Requested-With字段,如果值为XMLHttpRequest即可确认是AJAX提交场景。

3. 验证跳转逻辑是否正常执行

你可以在控制器store方法的跳转返回前加一行调试代码,确认代码逻辑是否走到了跳转步骤:

dd('跳转逻辑已触发');
return redirect()->route('cotizacion-enviada', [$id]);

如果提交表单后页面输出了上面的调试内容,说明跳转逻辑正常执行,反之需要排查前面的业务逻辑是否有提前终止请求的代码。

4. 清空路由缓存

如果项目开启了路由缓存,修改路由规则后需要清空缓存才会生效,执行以下命令即可:

php artisan route:clear

内容的提问来源于stack exchange,提问作者Lucas Cardemil Villegas

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 21:54:03