2 回答
TA贡献1998条经验 获得超6个赞
我在您的任何删除或更新路由中都没有看到 POST 方法。
Route::get('/update','BksController@update');
Route::put('update','StudentController@update');
Route::get('/delete','BksController@delete');
Route::delete('/delete','StudentController@destroy');
当您单击表单中的按钮时,它会执行 HTTP 发布。因此,将您的路线更改为相应Route:post(...)地匹配。
TA贡献1795条经验 获得超7个赞
使用Route::resource(...)将创建HTTP请求方法途径DELETE的destroy行动,并PUT为update行动。这意味着您在提交表单时必须使用这些方法。
不幸的是,HTML 表单不支持PUT或DELETE。这就是为什么 Laravel 使用一个名为的特殊隐藏输入_method,它应该包含正确的方法。表单本身应该通过POST. 这就是您的更新表单的样子(省略字段和其他标记):
<form method="post" action="{{ url('update') }}">
@method('put')
{{ csrf_field() }}
<!-- Your fields here -->
</form>
该指令@method('put')将生成以下 html <input type="hidden" name="_method" value="put">。
您可以在官方文档中阅读有关此主题的更多信息。
- 2 回答
- 0 关注
- 154 浏览
添加回答
举报