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

Laravel使用PATCH方法更新数据时出现MethodNotAllowedHttpException错误

解决Laravel中PATCH路由触发MethodNotAllowedHttpException的问题

问题根源

HTML原生表单仅支持GET和POST两种请求方法,你在表单标签里写method="PATCH"会被浏览器忽略,最终实际发送的是GET请求,而你的路由只配置了PATCH方法,因此触发了不允许的方法异常。

修复步骤

1. 修正表单的method属性

将表单的method改为POST,保留@method('PATCH')指令来伪造PATCH请求:

<form action="/checkPermissions" method="POST">
    @method('PATCH')
    @csrf

    <!-- 你的表单字段 -->
</form>

2. 验证路由与控制器

确保控制器中的check方法正确接收请求,示例如下:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class MyController extends Controller
{
    public function check(Request $request)
    {
        // 处理PATCH请求逻辑
        // 比如验证数据、更新模型等
        return response()->json(['status' => 'success']);
    }
}

3. 清除路由缓存(可选)

如果修改后仍有问题,执行以下命令清除路由缓存:

php artisan route:clear

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 23:30:28