【问题标题】:Laravel 5: delete user record using Route::delete getting MethodNotAllowedHttpException in RouteCollection.phpLaravel 5:使用 Route::delete 在 RouteCollection.php 中获取 MethodNotAllowedHttpException 删除用户记录
【发布时间】:2016-02-22 11:18:51
【问题描述】:

尝试在页面上执行此操作:

<form class="form-horizontal" role="form" method="DELETE" action="/user/{{ $user->id }}/delete">
      <button type="submit" class="btn btn-danger">
          Delete
      </button>
</form>

路线:

Route::delete('user/{id}/delete', ['middleware' => ['admin'], 
                                   'uses' => 'Auth\UserController@destroy']);

控制器:

class UserController extends Controller
{
    public function destroy($id)
    {
        DB::table('users')->where('id', $id)->delete();
        return view('admin/dash');
    }
}

我在 RouteCollection.php 中得到 MethodNotAllowedHttpException。 我该如何解决?

解决方案:

感谢乔希。我通过将表单更改为来解决它

<form method="POST" action="/user/{{ $user->id }}/delete">
                            <input type="hidden" name="_token" value="{{ csrf_token() }}">
                            <input type="hidden" name="_method" value="DELETE" />
                            <button type="submit" class="btn btn-danger">
                                Delete
                            </button>
                        </form>

【问题讨论】:

    标签: php routes laravel-5


    【解决方案1】:

    在某些 HTML 版本的某些实现中,只允许 GET 和 POST 作为方法。

    您可以通过添加您自己处理的附加属性_method 来克服这个问题,也可以使用 JavaScript。

    如果您使用的是 Chrome,请检查开发人员工具中的“网络”选项卡,以验证是否是问题所在,或者将请求添加到您的帖子中以进行进一步诊断。

    更多详情请见here。

    【讨论】:

      猜你喜欢
      • 2015-10-29
      • 1970-01-01
      • 2016-02-12
      • 1970-01-01
      • 2015-09-22
      • 2016-08-30
      • 1970-01-01
      • 1970-01-01
      • 2015-09-01
      相关资源
      最近更新 更多