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

Laravel注册表单提交报错:POST方法不被支持问题求助

Laravel注册表单提交报错:POST方法不支持该路由

错误信息

The POST method is not supported for route register. Supported methods: GET, HEAD.

现有代码

路由(Routes)

Route::post('register', [RegisterContoller::class])->name('register');

视图(Views)

@extends('layout')
@section('content')
  
    <div class="card">
        <div class="card-header">Contact Form</div>
        <div class="card-body"> 
        
            <form action="{{ route('register') }}" method="post">
             {!! csrf_field() !!}   
            <label>First Name</label>
            <input type="text" name="fname" id="fname" class="form-control"> </br>

            <label>Last Name</label>
            <input type="text" name="lname" id="lname" class="form-control"> </br>

            <label>Email</label>
            <input type="email" name="email" id="email" class="form-control"> </br>


            <label>Password</label>
            <input type="password" name="password" id="password" class="form-control"> </br>


            <input type="submit" value="Save" class="btn btn-success"> 


            </form>
        </div>
    </div>

@stop

控制器(Controller)

class RegisterContoller extends Controller
{
    public function create()
    {
        return view('contact.create');
    }

    public function store(Request $request)
    {
       $input = $request->all();
       Register::Create($input);
       return view('contact.thanks');
    }
}

模型(Model)

class Register extends Model
{
    protected $table = "register";
    protected $primarykey = "id";
    protected $fillable = ["fname","lname","email","password"];

    use HasFactory;
}

路由截图

路由截图

解决方法

1. 修正路由定义

当前POST路由未指定处理方法,导致路由无法正确响应请求。修改为:

// 处理表单提交的POST路由
Route::post('register', [RegisterContoller::class, 'store'])->name('register');
// 显示注册表单的GET路由,避免命名冲突
Route::get('register', [RegisterContoller::class, 'create'])->name('register.form');

2. 修正控制器类名拼写(建议)

控制器类名RegisterContoller存在拼写错误,正确应为RegisterController,需确保类名与文件名一致,避免Laravel无法定位控制器。

3. 修正模型属性命名

模型中$primarykey不符合驼峰命名规范,Laravel默认期望$primaryKey,修改为:

protected $primaryKey = "id";

同时建议将use HasFactory;移至模型顶部,符合代码规范。

4. 清除路由缓存

执行以下命令清除路由缓存,确保新路由配置生效:

php artisan route:clear

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 09:45:42