以Laravel形式使用PUT和DELETE方法时,MethodNotAllowedHttpException

时间:2018-07-11 04:39:13

标签: php html laravel

我正在使用Laravel进行基本的CRUD。在Laravel表单操作中使用PUT和DELETE方法时,出现MethodNotAllowedHttpException。 GET和POST操作方法可以正常工作。

1 个答案:

答案 0 :(得分:7)

HTML表单仅接受GETPOST方法,因此您不能在表单方法中使用PUTDELETE。但是,如果您想使用PUTDELETE,则laravel像这样提供Form method spoofing

<input type="hidden" name="_method" value="PUT">

这是表格示例

<form action="/foo/bar" method="POST">
    <input type="hidden" name="_method" value="PUT">
    <input type="hidden" name="_token" value="{{ csrf_token() }}">
</form>

简短表格

<form action="/foo/bar" method="POST">
    @method('PUT')
    @csrf
</form>

路线

Route::put('foo/bar', 'FooController@bar');

在此处https://laravel.com/docs/5.6/routing#form-method-spoofing

查看详细信息