【问题标题】:Laravel 5.1.26 : MethodNotAllowedHttpException in RouteCollection.php line 219Laravel 5.1.26:RouteCollection.php 第 219 行中的 MethodNotAllowedHttpException
【发布时间】:2015-12-14 09:05:43
【问题描述】:

在 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')

控制器.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? 我已经参考了一些与此相关的问题,但没有任何帮助

【问题讨论】:

    标签: php laravel-5


    【解决方案1】:

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

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

    【讨论】:

    • 提交表单后刷新页面表单再次提交,csrf在这里没有工作
    • 什么是返回store 方法?
    • 更新后应该重定向
    猜你喜欢
    • 2016-08-30
    • 2016-06-15
    • 2016-06-20
    • 1970-01-01
    • 1970-01-01
    • 2016-06-28
    • 1970-01-01
    • 1970-01-01
    • 2016-05-05
    相关资源
    最近更新 更多