RouteCollection.php 第 218 行中的 MethodNotAllowedHttpException

Posted

技术标签:

【中文标题】RouteCollection.php 第 218 行中的 MethodNotAllowedHttpException【英文标题】:MethodNotAllowedHttpException in RouteCollection.php line 218 【发布时间】:2016-11-21 18:29:06 【问题描述】:

我是 laravel 的新手,我发现很少有像样的教程可以帮助我理解并开始使用它。 问题是-> 每当我想使用 post 方法时,此异常都会引发 MethodNotAllowedHttpException但不像,也许 99% 的人问过类似问题,在我的情况下,它说异常是 in RouteCollection.php line 218,这很不寻常,但不要laravel 5.2.x

以下是routes.php中的方法贴:

Route::post('/ajouter_produit', 
[
    'uses'=>'ProductController@addProduct',
    'as'=>'ajouter_produit',
]);

我什至尝试将此方法添加到中间件路由组,但问题仍然存在。 这是我的控制器:

public function addProduct (Request $request)


    $this->validate($request, [
        'label'=>'required|alpha',
        'prix'=>'required|numeric',
    ]);

    $prod = new Product();
    $prod->label=$request['label'];
    $prod->type=$request['type'];
    $prod->prix=$request['prix'];

    $prod->save();

    return view('welcome');


这是我的表格:

<form action=" route('ajouter_produit') " method="post" >

    <input type="text" name="label" id="label"/>

    <select name="type" id="type">
        <option value="1">Par unité</option>
        <option value="2" selected>Par kilo</option>
    </select>

    <input type="text" name="prix" id="prix"/>

    <button type="submit">Ajouter</button>

    <input type="hidden" value=" Session::token() " name="_token"/>

我也试过这个,但它提出了同样的问题:

Route::post('/trypost', function () 
    return 'hello post';
);

你能帮帮我吗!

如果您需要任何其他来源,请索取。 每一次努力都将不胜感激。 谢谢

【问题讨论】:

缺少方法获取。首先,您应该使用 get return view 方法创建路由。接下来,在视图页面中调用方法 post validate 并保存到模型中。 您可以使用命令php artisan route:list验证您的路线 已经试过了..没用 检查页面视图刀片。错误endif 天哪,谢谢你@mydo47 成功了!!我不敢相信我没想到!!谢谢你 【参考方案1】:

请注意,如果您使用的是route(),则需要路由名称,例如user.storeuser.update

所以我的建议是,尝试使用url() 作为您的开放表单

<form action=" url('ajouter_produit') " method="post" >

更多关于 laravel 的细节docs

【讨论】:

对此没有任何问题,因为它可以与其他 get 方法一起使用。感谢@mydo47 的建议:D【参考方案2】:

"@mydo47: 缺少 get 方法。首先,您应该使用方法 get 返回视图创建路由。接下来,在视图页面中,您调用方法 post validate 并保存到您的模型。"这解决了它

【讨论】:

以上是关于RouteCollection.php 第 218 行中的 MethodNotAllowedHttpException的主要内容,如果未能解决你的问题,请参考以下文章

我在 RouteCollection.php 第 161 行收到 NotFoundHttpException:

Laravel 5 - RouteCollection.php 第 143 行中的 NotFoundHttpException

RouteCollection.php 第 161 行 Laravel 5.3 中的 NotFoundHttpException

Laravel 5.2:RouteCollection.php 第 219 行中的 MethodNotAllowedHttpException - 更新表单

Laravel 5.4 模块:RouteCollection.php 第 161 行中的 NotFoundHttpException

重定向回页面时出错