我想使用Laravel的(5.3)銷燬方法來刪除一個對象,當我按下按鈕,但是我得到一個MethodNotAllowedHttpException。Laravel 5.3刪除方法給出的方法notAllowed與欺騙
我的路線是
Route::delete('/admin/add/{id}', '[email protected]');
的銷燬方法是
public function destroy($id)
{
$items = Item::where('id', $id)->get();
foreach ($items as $item)
$item->delete();
return redirect('/admin/add');
}
我的形式是
<form action="{{ url('admin/add/'.$specific->id)}}" method="POST">
{{ method_field('DELETE') }}
{{ csrf_field() }}
<div class="modal-footer no-border">
<button type="submit" class="btn btn-primary">Delete</button>
</div>
</form>
我檢查了現有的路由(PHP工匠路線:列表),以及刪除一個正在顯示:
DELETE | admin/add/{id} | | App\Http\Controllers\[email protected]
,我得到的錯誤是
in RouteCollection.php line 218
at RouteCollection->methodNotAllowed(array('GET', 'HEAD', 'POST')) in RouteCollection.php line 205
at RouteCollection->getRouteForMethods(object(Request), array('GET', 'HEAD', 'POST')) in RouteCollection.php line 158
at RouteCollection->match(object(Request)) in Router.php line 766
at Router->findRoute(object(Request)) in Router.php line 621
at Router->dispatchToRoute(object(Request)) in Router.php line 607
at Router->dispatch(object(Request)) in Kernel.php line 268
at Kernel->Illuminate\Foundation\Http\{closure}(object(Request)) in Pipeline.php line 53
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in CheckForMaintenanceMode.php line 46
at CheckForMaintenanceMode->handle(object(Request), object(Closure)) in Pipeline.php line 137
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 33
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in Pipeline.php line 104
at Pipeline->then(object(Closure)) in Kernel.php line 150
at Kernel->sendRequestThroughRouter(object(Request)) in Kernel.php line 117
at Kernel->handle(object(Request)) in index.php line 53
at require('/Users/username/Sites/blades/public/index.php') in server.php line 133
%的Laravel路由的說明,我使用的是形式和欺騙使用POST方法刪除的行爲,但我仍然得到一個例外。任何幫助,將不勝感激。
注意:我跟在https://laravel.com/docs/5.2/quickstart-intermediate完整的例子,它工作得很好。我試圖在不同的項目中重現這一點是什麼導致了這個問題。
你能檢查生成的HTML嗎?畢竟,您的表單看起來像是發回POST請求。 –
它似乎正在發送POST請求。我在上面添加了更新,因爲我發現了一些相當奇怪的東西。 – abe678