RouteCollection.php第218行中的MethodNotAllowedHttpException

时间:2016-07-19 02:40:36

标签: php forms laravel laravel-5.2 laravel-routing

我是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';
});
你可以帮助我!!

如果您需要任何其他来源,请提出要求。
我们将非常感谢您的一切努力。 谢谢

2 个答案:

答案 0 :(得分:1)

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

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

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

laravel docs

的更多细节

答案 1 :(得分:1)

&#34; @ mydo47:缺少方法获取。首先,您应该使用方法获取返回视图创建路径。接下来,在视图页面中,您调用方法后验证并保存到您的模型。&#34;这解决了它