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

HTML表单提交到Laravel api.php路由出现连接错误如何解决?

错误触发原因

你遇到的是Laravel的419 PAGE EXPIRED错误,触发原因有两个:

  • 路由前缀不匹配:Laravel 中定义在routes/api.php内的路由默认会自动加上/api前缀,你当前表单提交的地址https://www.aspireelearning.com/summitRegistration缺少该前缀,请求实际匹配到了web中间件组的路由规则,而web中间件默认开启CSRF跨站请求伪造校验。
  • 表单未携带CSRF令牌:如果你的路由实际定义在web.php中,提交表单时没有携带Laravel要求的CSRF校验令牌,也会直接触发该错误。
解决方案

根据你的使用场景二选一即可:

方案1:保留路由在api.php(适合静态表单、前后端分离场景)

直接修改HTML表单的action属性,加上/api前缀即可:

<form action="https://www.aspireelearning.com/api/summitRegistration" method="POST">

api路由组默认不开启CSRF校验,修改后即可正常提交数据。

方案2:路由移至web.php(适合Laravel后端渲染的同域表单场景)

  1. 将你api.php中的这条路由代码移动到routes/web.php文件中:
Route::post('summitRegistration',[PageController::class,'summitRegistration']);
  1. 在表单内部添加CSRF令牌隐藏字段,如果是Blade模板渲染的表单,直接添加如下代码:
<input type="hidden" name="_token" value="{{ csrf_token() }}">
额外注意

你当前表单内的国家选择框所有option的value属性都为空,后续提交时国家字段会拿到空值,建议修改为对应国家的标识值:

<option value="USA">USA</option>
<option value="UK">UK</option>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 00:15:03