在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? 我已经审阅了一些与此相关的问题,但没有任何帮助我
答案 0 :(得分:2)
即使表单使用POST方法,您也会发送额外的参数_method
,这将让框架知道您要使用该方法。如果你发送了额外的参数,那么你应该相应地设置路线:
Route::patch('formaction','HomeController@store');