Laravel 5.1.26:RouteCollection.php第219行中的MethodNotAllowedHttpException

时间:2015-12-14 09:05:43

标签: php laravel-5

在laravel中提交表单时,我会得到MethodNotAllowedHttpException

HTML文件

<form action="{{ action('HomeController@store') }}" method="post">
<input name="_method" type="hidden" value="PATCH">
<input name="_token" type="hidden" value="{{ csrf_token() }}"/>
<input type="submit" name="Submit" value="submit">
</form>

我的routes.php

Route::post('formaction','HomeController@store')

Controller.php这样

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

use App\Http\Requests;
use App\Http\Controllers\Controller;

class HomeController extends Controller
{
   public function store(){
      echo 'form submitted';
    }
}

为什么我会在表单操作页面中获取MethodNotAllowedHttpException? 我已经审阅了一些与此相关的问题,但没有任何帮助我

1 个答案:

答案 0 :(得分:2)

即使表单使用POST方法,您也会发送额外的参数_method,这将让框架知道您要使用该方法。如果你发送了额外的参数,那么你应该相应地设置路线:

Route::patch('formaction','HomeController@store');