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

Laravel 10管理员删除用户报错:GET方法不被支持

问题解决方法

1. 视图层核心错误:a标签直接发起GET请求

你当前的视图中,<a>标签通过href直接访问删除路由,这会发起GET请求,但你的路由仅支持DELETE方法,所以触发报错。表单里的@method('DELETE')完全没生效,因为你根本没有提交这个表单。

修复方式二选一:

方式一:用提交按钮替代a标签

把<a>标签换成表单提交按钮,通过CSS调整成链接样式:

<form action="{{ route('admin.users.destroy', $user) }}" method="POST">
  @csrf
  @method('DELETE')
  <button type="submit" class="text-blue-500 hover:text-blue-700 bg-transparent border-0 p-0 cursor-pointer">Delete</button>
</form>

方式二:用JS让a标签触发表单提交

保留a标签,但添加点击事件阻止默认跳转,手动提交对应表单:

<form id="delete-form-{{ $user->id }}" action="{{ route('admin.users.destroy', $user) }}" method="POST">
  @csrf
  @method('DELETE')
</form>
<a class="text-blue-500 hover:text-blue-700" href="#" onclick="event.preventDefault(); document.getElementById('delete-form-{{ $user->id }}').submit();">Delete</a>

注意给每个用户的表单设置唯一ID,避免批量渲染时出现冲突。

2. 控制器层小错误:delete调用方式错误

你的控制器里$user->delete;是访问属性,不是调用删除方法,必须改成:

public function destroyUser(User $user)
{
    $user->delete(); // 加括号调用删除方法

    return redirect()->back();
}

额外检查项

  • 清除路由缓存:执行命令 php artisan route:clear
  • 确认当前登录用户已通过auth和isadmin中间件校验

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 16:03:16