Laravel MethodNotAllowedHttpException?
我想删除时出现此错误Laravel MethodNotAllowedHttpException?,laravel,laravel-5,laravel-5.2,Laravel,Laravel 5,Laravel 5.2,我想删除时出现此错误 <form action="{{ URL::route('admin.property.features.delete',$feature- >id) }}" method="POST"> <input type="hidden" name="_method" value="DELETE"> <input type="hidden" name="_token" value="{
<form action="{{ URL::route('admin.property.features.delete',$feature-
>id) }}" method="POST">
<input type="hidden" name="_method" value="DELETE">
<input type="hidden" name="_token" value="{{ csrf_token() }}">
<button class="btn-block btn-link delete-btn admin-delete">Delete</button>
</form>
控制器:
public function destroy($feature_id){
$feature = Feature::findOrFail($feature_id);
dd($feature);
$feature->delete();
return redirect()->back()->withFlashMessage('Property features has been deleted successfully!!');
}
简单的错误。您只接受路由列表中的
GET
请求。您在视图中发出的请求是POST
。所以这就是为什么不允许它显示方法
将路线更改为POST,它将起作用
Route::post('admin/property/features/{id}/delete', ['as' => 'admin.property.features.delete', 'uses' => 'Admin\AdminPropertyFeaturesController@destroy']);
编辑:
使用any
接受任何类型的请求
Route::any('admin/property/features/{id}/delete', ['as' => 'admin.property.features.delete', 'uses' => 'Admin\AdminPropertyFeaturesController@destroy']);
我刚才在RouteCollection->methodNotAllowed(数组('POST')上的POST也遇到了同样的错误在RouteCollection.php第205行中,您可以转到chrome中的网络选项卡,查看请求是否按照预期发送到正确的路由。您是否在dd时获得$feature?您是否可以尝试
any
而不是post
发送到路由中?让我们来看看。
Route::any('admin/property/features/{id}/delete', ['as' => 'admin.property.features.delete', 'uses' => 'Admin\AdminPropertyFeaturesController@destroy']);